diff --git a/unit/unit.sln b/unit/unit.sln
new file mode 100644
index 00000000..ddbbba56
--- /dev/null
+++ b/unit/unit.sln
@@ -0,0 +1,26 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unit", "unit.vcxproj", "{270BB952-FCB2-4FA8-821E-BB750E83C902}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {270BB952-FCB2-4FA8-821E-BB750E83C902}.Debug|Win32.ActiveCfg = Debug|Win32
+ {270BB952-FCB2-4FA8-821E-BB750E83C902}.Debug|Win32.Build.0 = Debug|Win32
+ {270BB952-FCB2-4FA8-821E-BB750E83C902}.Debug|x64.ActiveCfg = Debug|x64
+ {270BB952-FCB2-4FA8-821E-BB750E83C902}.Debug|x64.Build.0 = Debug|x64
+ {270BB952-FCB2-4FA8-821E-BB750E83C902}.Release|Win32.ActiveCfg = Release|Win32
+ {270BB952-FCB2-4FA8-821E-BB750E83C902}.Release|Win32.Build.0 = Release|Win32
+ {270BB952-FCB2-4FA8-821E-BB750E83C902}.Release|x64.ActiveCfg = Release|x64
+ {270BB952-FCB2-4FA8-821E-BB750E83C902}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/unit/unit.vcxproj b/unit/unit.vcxproj
new file mode 100644
index 00000000..1bca63b5
--- /dev/null
+++ b/unit/unit.vcxproj
@@ -0,0 +1,324 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {270BB952-FCB2-4FA8-821E-BB750E83C902}
+ unit
+
+
+
+ Application
+ false
+ MultiByte
+
+
+ Application
+ false
+ MultiByte
+
+
+ Application
+
+
+ Application
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.40219.1
+ $(Configuration)\
+ $(Configuration)\
+ true
+ $(SolutionDir)$(Platform)\$(Configuration)\
+ $(Platform)\$(Configuration)\
+ $(Configuration)\
+ $(Configuration)\
+ false
+ $(SolutionDir)$(Platform)\$(Configuration)\
+ $(Platform)\$(Configuration)\
+
+
+
+ .\Debug/unit.tlb
+
+
+
+
+ /MP %(AdditionalOptions)
+ Disabled
+ $(DEV_CPPUNIT_1_10)/include;../src;../src/phreeqcpp;../src/phreeqcpp/phreeqc;%(AdditionalIncludeDirectories)
+ CPPUNIT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ .\Debug/unit.pch
+ true
+ Level3
+ true
+ EditAndContinue
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0409
+
+
+ cppunitd.lib;odbc32.lib;odbccp32.lib;Shlwapi.lib;%(AdditionalDependencies)
+ true
+ $(DEV_CPPUNIT_1_10)/lib;%(AdditionalLibraryDirectories)
+ true
+ Console
+ MachineX86
+
+
+ true
+ .\Debug/unit.bsc
+
+
+
+
+ Disabled
+ $(DEV_CPPUNIT_1_10)/include;../src;../src/phreeqcpp;../src/phreeqcpp/phreeqc;%(AdditionalIncludeDirectories)
+ CPPUNIT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ Level3
+ ProgramDatabase
+
+
+ cppunitd.lib;%(AdditionalDependencies)
+ $(DEV_CPPUNIT_1_10)/libx64;%(AdditionalLibraryDirectories)
+ true
+
+
+
+
+ .\Release/unit.tlb
+
+
+
+
+ /MP %(AdditionalOptions)
+ MaxSpeed
+ OnlyExplicitInline
+ $(DEV_CPPUNIT_1_10)/include;../src;../src/phreeqcpp;../src/phreeqcpp/phreeqc;%(AdditionalIncludeDirectories)
+ CPPUNIT;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ MultiThreadedDLL
+ true
+ true
+ .\Release/unit.pch
+ Level3
+ true
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0409
+
+
+ cppunit.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+ true
+ $(DEV_CPPUNIT_1_10)/lib;%(AdditionalLibraryDirectories)
+ .\Release/unit.pdb
+ Console
+ MachineX86
+
+
+ true
+ .\Release/unit.bsc
+
+
+
+
+ $(DEV_CPPUNIT_1_10)/include;../src;../src/phreeqcpp;../src/phreeqcpp/phreeqc;%(AdditionalIncludeDirectories)
+ CPPUNIT;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+
+
+ cppunit.lib;%(AdditionalDependencies)
+ $(DEV_CPPUNIT_1_10)/libx64;%(AdditionalLibraryDirectories)
+
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+
+
+
+
+
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ CompileAsCpp
+ %(AdditionalIncludeDirectories)
+ %(PreprocessorDefinitions)
+ CompileAsCpp
+
+
+ true
+ true
+ true
+ true
+
+
+
+
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/unit/unit.vcxproj.filters b/unit/unit.vcxproj.filters
new file mode 100644
index 00000000..e3a8a46e
--- /dev/null
+++ b/unit/unit.vcxproj.filters
@@ -0,0 +1,312 @@
+
+
+
+
+ {9217165c-b467-45d4-af88-71f6cb27dc8a}
+ cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;f90;for;f;fpp
+
+
+ {7cbe522d-4dd4-4474-972e-e5dda1569bcf}
+
+
+ {2b87fae0-9021-449c-ab6c-2462b25f8451}
+
+
+ {21c6e9cb-086c-4892-a2cd-eecbc33251a1}
+
+
+ {af607a11-f999-462d-a895-27b23d9837d7}
+ h;hpp;hxx;hm;inl;fi;fd
+
+
+ {669fe4ce-b3a3-4cf3-9041-941eea1eff9b}
+ ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files\src
+
+
+ Source Files\src
+
+
+ Source Files\src
+
+
+ Source Files\src
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+ Source Files\src\phreeqcpp\phreeqc
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
\ No newline at end of file