diff --git a/changelog b/changelog
index 6502312..f843e7b 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,16 @@
+version 0.0.18 25/05/2011
+
+[+] added : rdmsr routine ( Return MSR value ) 
+[+] added : typeException, memoryException classes and their translation into python 
+[+] added : typeInfo class
+[+] added : loadWChars routine
+[+] added : callback for load/unload modules 
+
+[~] removed : typeClass class 
+
+[!] fixed : issue 8669 ( typedVar() creates an object for a non-existent structure type )
+[!] fixed : issue 8655 ( Unnamed structure/unioin not added to fields of typedVarClass )
+
 version 0.0.17 15/04/2011
 [+] added:  isDumpAnalyzing function. Check if it is a dump analyzing or live debuggiv
 [+] added : loadChars routine. Load raw buffer. 
diff --git a/pykd/pykd.rc b/pykd/pykd.rc
index 28e51fb..740f894 100644
--- a/pykd/pykd.rc
+++ b/pykd/pykd.rc
@@ -53,8 +53,8 @@ END
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 0,0,17,0
- PRODUCTVERSION 0,0,17,0
+ FILEVERSION 0,0,18,0
+ PRODUCTVERSION 0,0,18,0
  FILEFLAGSMASK 0x17L
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -70,11 +70,11 @@ BEGIN
         BLOCK "041904b0"
         BEGIN
             VALUE "FileDescription", "pykd - python extension for windbg"
-            VALUE "FileVersion", "0, 0, 17, 0"
+            VALUE "FileVersion", "0, 0, 18, 0"
             VALUE "InternalName", "pykd"
             VALUE "OriginalFilename", "pykd.dll"
             VALUE "ProductName", "pykd  - python extension for windbg"
-            VALUE "ProductVersion", "0, 0, 17, 0"
+            VALUE "ProductVersion", "0, 0, 18, 0"
         END
     END
     BLOCK "VarFileInfo"
diff --git a/snippets/gdt.py b/snippets/gdt.py
index 1ca254d..3a0ab50 100644
--- a/snippets/gdt.py
+++ b/snippets/gdt.py
@@ -30,6 +30,14 @@ def printGdtEntry( addr ):
     dprint( "attr: %x ( " % attr  + "".join( [ ( attr & ( 1 << ( 11 - i ) ) ) and "1" or "0" for i in range(0,12) ] ) + " )" )
     dprint( "  base: %x" % base )        
     dprintln( "  limit: %x" % limit )
+
+
+def printGdt( gdtr ):
+    for s in ( "cs", "es", "ds", "ss", "gs", "fs", "tr" ):
+        dprintln( s + " (%x):" % reg(s) )
+        printGdtEntry( gdtr + ( reg( s ) & 0xFFF8 ) )
+        dprintln("")              
+
     
 
 def printGdtHelp():
@@ -42,23 +50,20 @@ def printGdtHelp():
 
 if __name__ == "__main__":
 
-   if not isWindbgExt():
-       print "script is launch out of windbg"
-       quit( 0 )
+    if not isWindbgExt():
+        print "script is launch out of windbg"
+        quit( 0 )
 
-   gdtr = reg("gdtr")
+    gdtr = reg("gdtr")
 
-   if len( sys.argv)==1:
-       for s in ( "cs", "es", "ds", "ss", "gs", "fs", "tr" ):
-           dprintln( s + " (%x):" % reg(s) )
-           printGdtEntry( gdtr + ( reg( s ) & 0xFFF8 ) )
-           dprintln("")              
+    if len( sys.argv)==1:
+        printGdt( gdtr )
 
-   elif sys.argv[1] == "help":
+    elif sys.argv[1] == "help":
         printGdtHelp()      
 
-   elif len( sys.argv )==2:
+    elif len( sys.argv )==2:
         printGdtEntry( gdtr + ( int( sys.argv[1], 16 ) & 0xFFF8 ) )
 
-   else:
-       printGdtEntry( int( sys.argv[1], 16 ) + ( int( sys.argv[2], 16 ) & 0xFFF8 ) )
+    else:
+        printGdtEntry( int( sys.argv[1], 16 ) + ( int( sys.argv[2], 16 ) & 0xFFF8 ) )