diff --git a/.gitignore b/.gitignore
index bfdaf72..f3e13ec 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,3 +24,4 @@ tags
/subprojects/tcl
/subprojects/libtommath-*
/doc/parse_args.md
+vs/
diff --git a/generic/parse_args.c b/generic/parse_args.c
index 0163e0c..a30d0e7 100644
--- a/generic/parse_args.c
+++ b/generic/parse_args.c
@@ -833,7 +833,8 @@ static int parse_args(ClientData cdata, Tcl_Interp* interp, int objc, Tcl_Obj *c
struct interp_cx* l = (struct interp_cx*)cdata;
Tcl_Obj** av;
Tcl_Size ac;
- int i, check_options=1, positional_arg=0;
+ int check_options=1, positional_arg=0;
+ Tcl_Size i;
struct parse_spec* spec = NULL;
Tcl_Obj* res = NULL;
Tcl_Obj* val = NULL;
diff --git a/generic/tclstuff.h b/generic/tclstuff.h
index ade55f1..f8c17dd 120000
--- a/generic/tclstuff.h
+++ b/generic/tclstuff.h
@@ -1 +1 @@
-../teabase/tclstuff.h
\ No newline at end of file
+#include "../teabase/tclstuff.h"
diff --git a/generic/tip445.h b/generic/tip445.h
index a53b808..d750493 120000
--- a/generic/tip445.h
+++ b/generic/tip445.h
@@ -1 +1 @@
-../teabase/tip445.h
\ No newline at end of file
+#include "../teabase/tip445.h"
diff --git a/teabase b/teabase
index a3321ff..732efde 160000
--- a/teabase
+++ b/teabase
@@ -1 +1 @@
-Subproject commit a3321ff7ddd0ad10801e953af24de88204a69603
+Subproject commit 732efde2f6fc7abd4b719d34866268ef0dab395f
diff --git a/vs/parse_args.vcxproj b/vs/parse_args.vcxproj
new file mode 100644
index 0000000..83c0406
--- /dev/null
+++ b/vs/parse_args.vcxproj
@@ -0,0 +1,207 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+
+
+
+
+
+
+
+
+ {5816C02A-9DE0-4447-8C8D-FC8E7B4F74FF}
+ Win32Proj
+ parse_args
+ parse_args
+ 10.0
+
+
+
+ DynamicLibrary
+ true
+ MultiByte
+ v145
+
+
+ DynamicLibrary
+ true
+ MultiByte
+ v145
+
+
+ DynamicLibrary
+ false
+ false
+ MultiByte
+ v145
+
+
+ DynamicLibrary
+ false
+ false
+ MultiByte
+ v145
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ $(SolutionDir)x$(PlatformArchitecture)\$(Configuration)\
+ x$(PlatformArchitecture)\$(Configuration)\
+
+
+ true
+ $(SolutionDir)x$(PlatformArchitecture)\$(Configuration)\
+ x$(PlatformArchitecture)\$(Configuration)\
+
+
+ false
+ $(SolutionDir)x$(PlatformArchitecture)\$(Configuration)\
+ x$(PlatformArchitecture)\$(Configuration)\
+
+
+ false
+ $(SolutionDir)x$(PlatformArchitecture)\$(Configuration)\
+ x$(PlatformArchitecture)\$(Configuration)\
+
+
+
+ NotUsing
+ Level3
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;PARSE_ARGS_EXPORTS;USE_TCL_STUBS;USE_TCLOO_STUBS;TIP445_SHIM;PACKAGE_NAME="parse_args";PACKAGE_VERSION="0.5.2";%(PreprocessorDefinitions)
+ true
+ MultiThreadedDebug
+ ..\..\tcltk\TclTk8.6.13\x$(PlatformArchitecture)\include
+
+ 4996
+
+
+ Console
+ true
+ ..\..\tcltk\TclTk8.6.13\x$(PlatformArchitecture)\lib
+ tclstub86.lib;%(AdditionalDependencies)
+
+
+
+
+ NotUsing
+ Level3
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;PARSE_ARGS_EXPORTS;USE_TCL_STUBS;USE_TCLOO_STUBS;TIP445_SHIM;PACKAGE_NAME="parse_args";PACKAGE_VERSION="0.5.2";%(PreprocessorDefinitions)
+ true
+ MultiThreadedDebug
+ ..\..\tcltk\TclTk8.6.13\x$(PlatformArchitecture)\include
+
+
+ 4996
+
+
+ Console
+ true
+ ..\..\tcltk\TclTk8.6.13\x$(PlatformArchitecture)\lib
+ tclstub86.lib;%(AdditionalDependencies)
+
+
+
+
+ Level3
+ NotUsing
+ Full
+ true
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;PARSE_ARGS_EXPORTS;USE_TCL_STUBS;USE_TCLOO_STUBS;TIP445_SHIM;PACKAGE_NAME="parse_args";PACKAGE_VERSION="0.5.2";%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ ..\..\tcltk\TclTk8.6.13\x$(PlatformArchitecture)\include
+
+ false
+ /MP8 %(AdditionalOptions)
+ None
+ Default
+ 4996
+
+
+ Console
+ false
+ true
+ true
+ ..\..\tcltk\TclTk8.6.13\x$(PlatformArchitecture)\lib
+ tclstub86.lib;%(AdditionalDependencies)
+ Default
+
+
+ if not exist ..\..\..\scripts\parse_args MkDir ..\..\..\scripts\parse_args
+set DLL_PREFIX=
+copy "$(TargetPath)" ..\..\..\scripts\parse_args\%DLL_PREFIX%parse_args_$(PlatformArchitecture).dll
+
+
+
+
+
+ Level3
+ NotUsing
+ Full
+ true
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;PARSE_ARGS_EXPORTS;USE_TCL_STUBS;USE_TCLOO_STUBS;TIP445_SHIM;PACKAGE_NAME="parse_args";PACKAGE_VERSION="0.5.2";%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ ..\..\tcltk\TclTk8.6.13\x$(PlatformArchitecture)\include
+
+
+ false
+ None
+ CompileAsC
+ 4996
+
+
+ Console
+ false
+ true
+ true
+ ..\..\tcltk\TclTk8.6.13\x$(PlatformArchitecture)\lib
+ tclstub86.lib;%(AdditionalDependencies)
+ Default
+
+
+ if not exist ..\..\..\scripts\parse_args MkDir ..\..\..\scripts\parse_args
+set DLL_PREFIX=
+copy "$(TargetPath)" ..\..\..\scripts\parse_args\%DLL_PREFIX%parse_args_$(PlatformArchitecture).dll
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vs/parse_args.vcxproj.filters b/vs/parse_args.vcxproj.filters
new file mode 100644
index 0000000..13e7c60
--- /dev/null
+++ b/vs/parse_args.vcxproj.filters
@@ -0,0 +1,27 @@
+
+
+
+
+ {125cb61f-0f27-4e19-9297-26a8e2e21d2b}
+
+
+ {b32d45d9-0ca9-4592-8950-4097e970e773}
+
+
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
\ No newline at end of file