diff --git a/README b/README
index b767fa2..e02e731 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-             xdc-C06 (corevers:; B:150,G:180,R:170)
+             xdc-C07 (corevers:; B:150,G:180,R:170)
                        eXpanDed C Tools (XDCtools)
@@ -82,16 +82,30 @@
-	added "select.h" support for GCC and IAR target toolchains
-	"fixed" Program to allow Module view int for modules without module 
-        state.  This allow modules to "proxy" for legacy C code and/or use
-        the module view to show configuration state.
+	    added a new function allocObject, which only allocates a memory for
+	    a new object and doesn't perform any parameter checks or copying
+core	    reorganized create() function to separate memory allocation and
+	    parameter initialization code. When the size of Params structure
+	    passed by the caller is the same as the size of that same structure
+	    defined by the module whose instance is created, we don't create a
+	    new structure and copy the values from the caller's structure. We
+	    simply pass the structure from the caller to the module's
+	    Instance_init().
+	    When the sizes of Params structure differs, which happens when a
+	    caller is a library built with an older Params structure with fewer
+	    parameters than in the current version of the module, we invoke
+	    create__S() function which creates a new Params structure and
+	    copies caller's parameters.
+	    This change was made to decrease stack usage for the most common
+	    case, when the sizes of Params structures match.
+	    deleted an unused parameter from createObject and constructObject
diff --git a/ident.c b/ident.c
index 3ec7616..f540664 100644
--- a/ident.c
+++ b/ident.c
@@ -2,7 +2,7 @@
  *  ======== ident.c ========
-#define _VERS_ "@(#)*** xdc-C06"
+#define _VERS_ "@(#)*** xdc-C07"
 static char __NAME[] = _NAME_;
 static char __DATE[] = _DATE_;