diff --git a/test/scripts/basetest.py b/test/scripts/basetest.py
new file mode 100644
index 0000000..bc7b552
--- /dev/null
+++ b/test/scripts/basetest.py
@@ -0,0 +1,14 @@
+#
+#
+#
+
+import unittest
+import target
+
+class BaseTest( unittest.TestCase ):
+
+    def test1( self ):
+        self.assertNotEqual( target.module, None )
+   
+    
+    
\ No newline at end of file
diff --git a/test/scripts/pykdtest.py b/test/scripts/pykdtest.py
index 0688453..68497d9 100644
--- a/test/scripts/pykdtest.py
+++ b/test/scripts/pykdtest.py
@@ -1,37 +1,69 @@
+
 import sys
 import os
 import unittest
+import pykd
+import target
+import basetest
+import typeinfo     
+
+
+if __name__ == "__main__":
+
+    targetAppPath = sys.argv[1]
+    
+    target.moduleName = os.path.splitext(os.path.basename(targetAppPath))[0]
+
+    pykd.startProcess( targetAppPath )
+    pykd.go()
+
+    target.module = pykd.loadModule( target.moduleName )
+   
+    suite = unittest.TestSuite( [
+          #  unittest.TestLoader().loadTestsFromTestCase( basetest.BaseTest ),
+            unittest.TestLoader().loadTestsFromTestCase( typeinfo.TypeInfoTest ),
+        ] )
+
+    unittest.TextTestRunner().run( suite )
+
+
+   
+
+
+
+
 
 # Append current pykd.pyd path to PYTHONPATH
-sys.path.append(os.path.dirname(sys.argv[1]))
-import pykd
+#sys.path.append(os.path.dirname(sys.argv[1]))
+#import pykd
 
-class TestPykd(unittest.TestCase):
+#class TestPykd(unittest.TestCase):
 
-    def setUp(self):
-        self.targetAppPath = sys.argv[1]
-        self.targetModuleName = os.path.splitext(os.path.basename(self.targetAppPath))[0]
-        self.targetModule = None
-        self.gVerInfoOffset = 0L
-        self.verInfo = None
+#    def setUp(self):
+#        self.targetAppPath = sys.argv[1]
+#        self.targetModuleName = os.path.splitext(os.path.basename(self.targetAppPath))[0]
+#        self.targetModule = None
+#        self.gVerInfoOffset = 0L
+#        self.verInfo = None
 
-    def testPykd(self):
-        print self.targetAppPath
+#    def testPykd(self):
+#        print self.targetAppPath
         
-        self.assertTrue(pykd.startProcess(self.targetAppPath))
+#        self.assertTrue(pykd.startProcess(self.targetAppPath))
 
-        self.targetModule = pykd.loadModule(self.targetModuleName)
-        self.assertNotEqual(self.targetModule, None)
-        pykd.go()
+#        self.targetModule = pykd.loadModule(self.targetModuleName)
+#        self.assertNotEqual(self.targetModule, None)
+#        pykd.go()
         
-        self.gVerInfoOffset = pykd.getOffset(self.targetModuleName, "gVerInfo")
-        self.assertNotEqual(self.gVerInfoOffset, 0L)
+#        self.gVerInfoOffset = pykd.getOffset(self.targetModuleName, "gVerInfo")
+#        self.assertNotEqual(self.gVerInfoOffset, 0L)
 
-        self.verInfo = pykd.typedVar(self.targetModuleName, "_OSVERSIONINFOA", self.gVerInfoOffset)
-        self.assertNotEqual(self.verInfo, None)
-        pykd.go()
+#        self.verInfo = pykd.typedVar(self.targetModuleName, "_OSVERSIONINFOA", self.gVerInfoOffset)
+#        self.assertNotEqual(self.verInfo, None)
+#        pykd.go()
+        
 
-if __name__ == '__main__':
+#if __name__ == '__main__':
     #unittest.main(argv=[])
-    suite = unittest.TestLoader().loadTestsFromTestCase(TestPykd)
-    unittest.TextTestRunner().run(suite)
+#   suite = unittest.TestLoader().loadTestsFromTestCase(TestPykd)
+#    unittest.TextTestRunner().run(suite)
diff --git a/test/scripts/target.py b/test/scripts/target.py
new file mode 100644
index 0000000..9b4193c
--- /dev/null
+++ b/test/scripts/target.py
@@ -0,0 +1,7 @@
+#
+#
+#
+
+
+module = None
+moduleName = None
\ No newline at end of file
diff --git a/test/scripts/typeinfo.py b/test/scripts/typeinfo.py
new file mode 100644
index 0000000..e00f3fd
--- /dev/null
+++ b/test/scripts/typeinfo.py
@@ -0,0 +1,37 @@
+#
+#
+#
+
+import unittest
+import pykd
+import target
+
+
+class TypeInfoTest( unittest.TestCase ):
+
+    def testBasicTypes(self):
+    
+        self.assertEqual( pykd.char_t.name(), "char" )       
+        self.assertEqual( pykd.char_t.size(), 1 ) 
+        self.assertEqual( pykd.uchar_t.name(), "unsigned char" )       
+        self.assertEqual( pykd.uchar_t.size(), 1 ) 
+        
+    def testSimpleStruct(self):
+        
+        ti = pykd.typeInfo( target.moduleName, "Type1" )
+        self.assertEqual( hasattr( ti, "field1" ), True )
+        self.assertEqual( hasattr( ti, "field2" ), True )
+        
+        tv = pykd.typedVar( ti, target.module.var1 )
+        self.assertEqual( tv.field1, -121 )
+        self.assertEqual( tv.field2, 220 )
+        
+    def testEnumField(self):
+        ti = pykd.typeInfo( target.moduleName, "Type2" )
+        self.assertEqual( hasattr( ti, "field1" ), True )
+        
+        tv = pykd.typedVar( ti, target.module.var2 )
+        self.assertEqual( tv.field1, 100 )
+
+
+
diff --git a/test/targetapp/targetapp.vcproj b/test/targetapp/targetapp.vcproj
index 91059c9..6defe5e 100644
--- a/test/targetapp/targetapp.vcproj
+++ b/test/targetapp/targetapp.vcproj
@@ -1,14 +1,10 @@
 <?xml version="1.0" encoding="windows-1251"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="9.00"
+	Version="9,00"
 	Name="targetapp"
 	ProjectGUID="{C6254E16-AB8E-41EE-887D-31458E93FC68}"
 	RootNamespace="targetapp"
-	SccProjectName="SAK"
-	SccAuxPath="SAK"
-	SccLocalPath="SAK"
-	SccProvider="SAK"
 	Keyword="Win32Proj"
 	TargetFrameworkVersion="131072"
 	>
@@ -364,6 +360,10 @@
 				RelativePath=".\targetapp.cpp"
 				>
 			</File>
+			<File
+				RelativePath=".\types.cpp"
+				>
+			</File>
 			<File
 				RelativePath=".\utils.cpp"
 				>
@@ -393,6 +393,26 @@
 			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
 			>
 		</Filter>
+		<Filter
+			Name="scripts"
+			>
+			<File
+				RelativePath="..\scripts\basetest.py"
+				>
+			</File>
+			<File
+				RelativePath="..\scripts\pykdtest.py"
+				>
+			</File>
+			<File
+				RelativePath="..\scripts\target.py"
+				>
+			</File>
+			<File
+				RelativePath="..\scripts\typeinfo.py"
+				>
+			</File>
+		</Filter>
 	</Files>
 	<Globals>
 	</Globals>
diff --git a/test/targetapp/types.cpp b/test/targetapp/types.cpp
new file mode 100644
index 0000000..96c056e
--- /dev/null
+++ b/test/targetapp/types.cpp
@@ -0,0 +1,39 @@
+#include "stdafx.h"
+
+///////////////////////////////////////////////////////////////////////////////
+
+// ������� ����
+
+char                charVar = -100;
+unsigned char       ucharVar = 200;
+
+///////////////////////////////////////////////////////////////////////////////
+
+enum Enum1 {
+
+    Enum1Val1 = 100,
+    Enum1Val2 = 200,
+    Enum1Val3 = 300
+};
+
+
+struct Type1 {
+
+    char                field1;
+
+    unsigned char       field2;
+
+};
+
+Type1     var1 = { -121, 220 };
+
+
+struct Type2 {
+
+    Enum1           field1;
+
+};
+
+Type2       var2 = { Enum1Val1 };
+
+///////////////////////////////////////////////////////////////////////////////
\ No newline at end of file