diff --git a/IPhreeqc.2012.sln b/IPhreeqc.2012.sln
new file mode 100644
index 00000000..dddd8355
--- /dev/null
+++ b/IPhreeqc.2012.sln
@@ -0,0 +1,38 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IPhreeqc", "IPhreeqc.2012.vcxproj", "{F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ DebugDll|Win32 = DebugDll|Win32
+ DebugDll|x64 = DebugDll|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ ReleaseDll|Win32 = ReleaseDll|Win32
+ ReleaseDll|x64 = ReleaseDll|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}.Debug|Win32.Build.0 = Debug|Win32
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}.Debug|x64.ActiveCfg = Debug|x64
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}.Debug|x64.Build.0 = Debug|x64
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}.DebugDll|Win32.Build.0 = DebugDll|Win32
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}.DebugDll|x64.ActiveCfg = DebugDll|x64
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}.DebugDll|x64.Build.0 = DebugDll|x64
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}.Release|Win32.ActiveCfg = Release|Win32
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}.Release|Win32.Build.0 = Release|Win32
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}.Release|x64.ActiveCfg = Release|x64
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}.Release|x64.Build.0 = Release|x64
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}.ReleaseDll|Win32.ActiveCfg = ReleaseDll|Win32
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}.ReleaseDll|Win32.Build.0 = ReleaseDll|Win32
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}.ReleaseDll|x64.ActiveCfg = ReleaseDll|x64
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}.ReleaseDll|x64.Build.0 = ReleaseDll|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/IPhreeqc.2012.vcxproj b/IPhreeqc.2012.vcxproj
new file mode 100644
index 00000000..2ea1437f
--- /dev/null
+++ b/IPhreeqc.2012.vcxproj
@@ -0,0 +1,614 @@
+
+
+
+
+ DebugDll
+ Win32
+
+
+ DebugDll
+ x64
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ ReleaseDll
+ Win32
+
+
+ ReleaseDll
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {F9C18E06-F73A-4EB0-92E0-AE1713EA7FD7}
+ IPhreeqc
+ IPhreeqc
+
+
+
+ DynamicLibrary
+ false
+ MultiByte
+ v110
+
+
+ DynamicLibrary
+ false
+ MultiByte
+ v110
+
+
+ StaticLibrary
+ false
+ MultiByte
+ v110
+
+
+ StaticLibrary
+ false
+ MultiByte
+ v110
+
+
+ DynamicLibrary
+ false
+ MultiByte
+ v110
+
+
+ DynamicLibrary
+ false
+ MultiByte
+ v110
+
+
+ StaticLibrary
+ false
+ MultiByte
+ v110
+
+
+ StaticLibrary
+ false
+ MultiByte
+ v110
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ $(SolutionDir)$(Configuration)\
+ $(Configuration)\
+ $(SolutionDir)$(Platform)\$(Configuration)\
+ $(Platform)\$(Configuration)\
+ $(SolutionDir)$(Configuration)\
+ $(Configuration)\
+ $(SolutionDir)$(Platform)\$(Configuration)\
+ $(Platform)\$(Configuration)\
+ $(SolutionDir)$(Configuration)\
+ $(Configuration)\
+ $(SolutionDir)$(Platform)\$(Configuration)\
+ $(Platform)\$(Configuration)\
+ $(SolutionDir)$(Configuration)\
+ $(Configuration)\
+ $(SolutionDir)$(Platform)\$(Configuration)\
+ $(Platform)\$(Configuration)\
+ $(ProjectName)d
+ $(ProjectName)d
+ $(ProjectName)d
+ $(ProjectName)d
+ false
+ false
+ false
+ false
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ src;src/phreeqcpp;src/phreeqcpp/phreeqc;%(AdditionalIncludeDirectories)
+ NDEBUG;WIN32;_LIB;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+ true
+ true
+ false
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0409
+
+
+ true
+
+
+ true
+
+
+ IF NOT EXIST lib mkdir lib
+copy "$(OutDir)$(TargetName)$(TargetExt)" "lib\$(TargetName)$(TargetExt)"
+copy "$(OutDir)vc100.pdb" "lib\vc100.pdb"
+
+
+
+
+
+ X64
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ src;src/phreeqcpp;src/phreeqcpp/phreeqc;%(AdditionalIncludeDirectories)
+ NDEBUG;WIN32;_LIB;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+
+
+ Level3
+ true
+ true
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0409
+
+
+ true
+
+
+ true
+
+
+ IF NOT EXIST libx64 mkdir libx64
+copy "$(OutDir)$(TargetName)$(TargetExt)" "libx64\$(TargetName)$(TargetExt)"
+
+
+
+
+ Disabled
+ src;src/phreeqcpp;src/phreeqcpp/phreeqc;%(AdditionalIncludeDirectories)
+ _DEBUG;WIN32;_LIB;%(PreprocessorDefinitions)
+ false
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ true
+ ProgramDatabase
+ true
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0409
+
+
+ $(OutDir)$(TargetName)$(TargetExt)
+ true
+
+
+ true
+
+
+ IF NOT EXIST lib mkdir lib
+copy "$(OutDir)$(TargetName)$(TargetExt)" "lib\$(TargetName)$(TargetExt)"
+copy "$(OutDir)vc100.pdb" "lib\vc100.pdb"
+
+
+
+
+ X64
+
+
+ Disabled
+ src;src/phreeqcpp;src/phreeqcpp/phreeqc;%(AdditionalIncludeDirectories)
+ _DEBUG;WIN32;_LIB;%(PreprocessorDefinitions)
+ false
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ Level3
+ true
+ ProgramDatabase
+ true
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0409
+
+
+ true
+ $(OutDir)$(TargetName)$(TargetExt)
+
+
+ true
+
+
+ IF NOT EXIST libx64 mkdir libx64
+copy "$(OutDir)$(TargetName)$(TargetExt)" "libx64\$(TargetName)$(TargetExt)"
+copy "$(OutDir)vc100.pdb" "libx64\vc100.pdb"
+
+
+
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ src;src/phreeqcpp;src/phreeqcpp/phreeqc;%(AdditionalIncludeDirectories)
+ NDEBUG;WIN32;_LIB;%(PreprocessorDefinitions)
+ true
+ MultiThreadedDLL
+ true
+
+
+ Level3
+ true
+ true
+ false
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0409
+
+
+ NotSet
+ $(TargetDir)$(TargetName).lib
+
+
+ true
+
+
+ IF NOT EXIST dll mkdir dll
+copy "$(OutDir)$(TargetName)$(TargetExt)" "dll\$(TargetName)$(TargetExt)"
+copy "$(OutDir)$(TargetName).lib" "dll\$(TargetName).lib"
+
+
+
+
+
+ X64
+
+
+ MaxSpeed
+ OnlyExplicitInline
+ src;src/phreeqcpp;src/phreeqcpp/phreeqc;%(AdditionalIncludeDirectories)
+ NDEBUG;WIN32;_LIB;%(PreprocessorDefinitions)
+ true
+ MultiThreadedDLL
+ true
+
+
+ Level3
+ true
+ true
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0409
+
+
+ NotSet
+ MachineX64
+
+
+ true
+
+
+ IF NOT EXIST dllx64 mkdir dllx64
+copy "$(OutDir)$(TargetName)$(TargetExt)" "dllx64\$(TargetName)$(TargetExt)"
+copy "$(OutDir)$(TargetName).lib" "dllx64\$(TargetName).lib"
+
+
+
+
+
+ Disabled
+ src;src/phreeqcpp;src/phreeqcpp/phreeqc;%(AdditionalIncludeDirectories)
+ _DEBUG;WIN32;_LIB;%(PreprocessorDefinitions)
+ false
+ EnableFastChecks
+ MultiThreadedDebugDLL
+
+
+ Level3
+ true
+ ProgramDatabase
+ true
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0409
+
+
+ $(OutDir)$(TargetName)$(TargetExt)
+ true
+ $(TargetDir)$(TargetName).lib
+
+
+ true
+
+
+ IF NOT EXIST dll mkdir dll
+copy "$(OutDir)$(TargetName)$(TargetExt)" "dll\$(TargetName)$(TargetExt)"
+copy "$(OutDir)$(TargetName).lib" "dll\$(TargetName).lib"
+copy "$(OutDir)vc100.pdb" "dll\vc100.pdb"
+
+
+
+
+
+ X64
+
+
+ Disabled
+ src;src/phreeqcpp;src/phreeqcpp/phreeqc;%(AdditionalIncludeDirectories)
+ _DEBUG;WIN32;_LIB;%(PreprocessorDefinitions)
+ false
+ EnableFastChecks
+ MultiThreadedDebugDLL
+
+
+ Level3
+ true
+ ProgramDatabase
+ true
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0409
+
+
+ $(OutDir)$(TargetName)$(TargetExt)
+ true
+ $(TargetDir)$(TargetName).lib
+ MachineX64
+
+
+ true
+
+
+ IF NOT EXIST dllx64 mkdir dllx64
+copy "$(OutDir)$(TargetName)$(TargetExt)" "dllx64\$(TargetName)$(TargetExt)"
+copy "$(OutDir)$(TargetName).lib" "dllx64\$(TargetName).lib"
+copy "$(OutDir)vc100.pdb" "dllx64\vc100.pdb"
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+
+
+
+
+
+ CompileAsCpp
+ CompileAsCpp
+ CompileAsCpp
+ CompileAsCpp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Document
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/IPhreeqc.2012.vcxproj.filters b/IPhreeqc.2012.vcxproj.filters
new file mode 100644
index 00000000..e6c54124
--- /dev/null
+++ b/IPhreeqc.2012.vcxproj.filters
@@ -0,0 +1,466 @@
+
+
+
+
+ {15cc6188-8ea1-4cd6-be2b-2b16c0e5df26}
+ cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;f90;for;f;fpp
+
+
+ {0ad80600-706e-4da7-b54e-c014fcbba4a6}
+
+
+ {1011cb9f-ff20-4a82-9a89-7914b91c2b46}
+
+
+ {0b7d37b3-2c42-4a8b-a97a-7a2f812581d6}
+ h;hpp;hxx;hm;inl;fi;fd
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files\phreeqcpp\phreeqc
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
+
+ Source Files
+
+
+
\ No newline at end of file