add CS_VERSION_{MAJOR, MINOR, EXTRA}
diff --git a/bindings/java/capstone/Ppc_const.java b/bindings/java/capstone/Ppc_const.java
index 91407bc..ef8359c 100644
--- a/bindings/java/capstone/Ppc_const.java
+++ b/bindings/java/capstone/Ppc_const.java
@@ -23,14 +23,6 @@
 	public static final int PPC_BH_PLUS = 1;
 	public static final int PPC_BH_MINUS = 2;
 
-	// Operand type for instruction's operands
-
-	public static final int PPC_OP_INVALID = 0;
-	public static final int PPC_OP_REG = 1;
-	public static final int PPC_OP_IMM = 2;
-	public static final int PPC_OP_MEM = 3;
-	public static final int PPC_OP_CRX = 64;
-
 	// PPC registers
 
 	public static final int PPC_REG_INVALID = 0;
@@ -245,6 +237,14 @@
 	public static final int PPC_REG_X2 = 209;
 	public static final int PPC_REG_ENDING = 210;
 
+	// Operand type for instruction's operands
+
+	public static final int PPC_OP_INVALID = 0;
+	public static final int PPC_OP_REG = 1;
+	public static final int PPC_OP_IMM = 2;
+	public static final int PPC_OP_MEM = 3;
+	public static final int PPC_OP_CRX = 64;
+
 	// PPC instruction
 
 	public static final int PPC_INS_INVALID = 0;
diff --git a/bindings/ocaml/ppc_const.ml b/bindings/ocaml/ppc_const.ml
index 9dde83c..da294a2 100644
--- a/bindings/ocaml/ppc_const.ml
+++ b/bindings/ocaml/ppc_const.ml
@@ -20,14 +20,6 @@
 let _PPC_BH_PLUS = 1;;
 let _PPC_BH_MINUS = 2;;
 
-(* Operand type for instruction's operands *)
-
-let _PPC_OP_INVALID = 0;;
-let _PPC_OP_REG = 1;;
-let _PPC_OP_IMM = 2;;
-let _PPC_OP_MEM = 3;;
-let _PPC_OP_CRX = 64;;
-
 (* PPC registers *)
 
 let _PPC_REG_INVALID = 0;;
@@ -242,6 +234,14 @@
 let _PPC_REG_X2 = 209;;
 let _PPC_REG_ENDING = 210;;
 
+(* Operand type for instruction's operands *)
+
+let _PPC_OP_INVALID = 0;;
+let _PPC_OP_REG = 1;;
+let _PPC_OP_IMM = 2;;
+let _PPC_OP_MEM = 3;;
+let _PPC_OP_CRX = 64;;
+
 (* PPC instruction *)
 
 let _PPC_INS_INVALID = 0;;
diff --git a/bindings/python/capstone/__init__.py b/bindings/python/capstone/__init__.py
index a0f56d6..62d57cd 100644
--- a/bindings/python/capstone/__init__.py
+++ b/bindings/python/capstone/__init__.py
@@ -19,6 +19,10 @@
     'CS_API_MAJOR',
     'CS_API_MINOR',
 
+    'CS_VERSION_MAJOR',
+    'CS_VERSION_MINOR',
+    'CS_VERSION_EXTRA',
+
     'CS_ARCH_ARM',
     'CS_ARCH_ARM64',
     'CS_ARCH_MIPS',
@@ -113,7 +117,12 @@
 CS_API_MAJOR = 4
 CS_API_MINOR = 0
 
-__version__ = "%s.%s" %(CS_API_MAJOR, CS_API_MINOR)
+# Package version
+CS_VERSION_MAJOR = CS_API_MAJOR
+CS_VERSION_MINOR = CS_API_MINOR
+CS_VERSION_EXTRA = 0
+
+__version__ = "%u.%u.%u" %(CS_VERSION_MAJOR, CS_VERSION_MINOR, CS_VERSION_EXTRA)
 
 # architectures
 CS_ARCH_ARM = 0
diff --git a/bindings/python/capstone/ppc_const.py b/bindings/python/capstone/ppc_const.py
index b42433a..893c588 100644
--- a/bindings/python/capstone/ppc_const.py
+++ b/bindings/python/capstone/ppc_const.py
@@ -20,14 +20,6 @@
 PPC_BH_PLUS = 1
 PPC_BH_MINUS = 2
 
-# Operand type for instruction's operands
-
-PPC_OP_INVALID = 0
-PPC_OP_REG = 1
-PPC_OP_IMM = 2
-PPC_OP_MEM = 3
-PPC_OP_CRX = 64
-
 # PPC registers
 
 PPC_REG_INVALID = 0
@@ -242,6 +234,14 @@
 PPC_REG_X2 = 209
 PPC_REG_ENDING = 210
 
+# Operand type for instruction's operands
+
+PPC_OP_INVALID = 0
+PPC_OP_REG = 1
+PPC_OP_IMM = 2
+PPC_OP_MEM = 3
+PPC_OP_CRX = 64
+
 # PPC instruction
 
 PPC_INS_INVALID = 0
diff --git a/cstool/cstool.c b/cstool/cstool.c
index b8c2d62..1973cd1 100644
--- a/cstool/cstool.c
+++ b/cstool/cstool.c
@@ -73,7 +73,7 @@
 
 static void usage(char *prog)
 {
-	printf("Cstool v%s for Capstone Disassembler Engine (core v%u.%u)\n\n", VERSION, CS_API_MAJOR, CS_API_MINOR);
+	printf("Cstool v%s for Capstone Disassembler Engine (core v%u.%u.%u)\n\n", VERSION, CS_VERSION_MAJOR, CS_VERSION_MINOR, CS_VERSION_EXTRA);
 	printf("Syntax: %s [-d] <arch+mode> <assembly-hexstring> [start-address-in-hex-format]\n", prog);
 	printf("\nThe following <arch+mode> options are supported:\n");
 
diff --git a/include/capstone/capstone.h b/include/capstone/capstone.h
index e7cda2c..f3921f3 100644
--- a/include/capstone/capstone.h
+++ b/include/capstone/capstone.h
@@ -53,7 +53,12 @@
 // Version for bleeding edge code of the Github's "next" branch.
 // Use this if you want the absolutely latest developement code.
 // This version number will be bumped up whenever we have a new major change.
-#define CS_NEXT_VERSION 3
+#define CS_NEXT_VERSION 4
+
+// Capstone package version
+#define CS_VERSION_MAJOR CS_API_MAJOR
+#define CS_VERSION_MINOR CS_API_MINOR
+#define CS_VERSION_EXTRA 0
 
 // Macro to create combined version which can be compared to
 // result of cs_version() API.