--- a
+++ b/coretest.sln
@@ -0,0 +1,45 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core", "src\core\core.vcxproj", "{261882E8-80AF-4373-A8CC-A8D52E24BF27}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "coretest", "src\test\coretest.vcxproj", "{0FF1232A-8377-4271-BC22-04E57A39FFB6}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "os", "src\os\windows\os.vcxproj", "{D5DBD8E8-CF48-4CA3-B773-C5F3B3316C73}"
+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
+		{261882E8-80AF-4373-A8CC-A8D52E24BF27}.Debug|Win32.ActiveCfg = Debug|Win32
+		{261882E8-80AF-4373-A8CC-A8D52E24BF27}.Debug|Win32.Build.0 = Debug|Win32
+		{261882E8-80AF-4373-A8CC-A8D52E24BF27}.Debug|x64.ActiveCfg = Debug|x64
+		{261882E8-80AF-4373-A8CC-A8D52E24BF27}.Debug|x64.Build.0 = Debug|x64
+		{261882E8-80AF-4373-A8CC-A8D52E24BF27}.Release|Win32.ActiveCfg = Release|Win32
+		{261882E8-80AF-4373-A8CC-A8D52E24BF27}.Release|Win32.Build.0 = Release|Win32
+		{261882E8-80AF-4373-A8CC-A8D52E24BF27}.Release|x64.ActiveCfg = Release|x64
+		{261882E8-80AF-4373-A8CC-A8D52E24BF27}.Release|x64.Build.0 = Release|x64
+		{D5DBD8E8-CF48-4CA3-B773-C5F3B3316C73}.Debug|Win32.ActiveCfg = Debug|Win32
+		{D5DBD8E8-CF48-4CA3-B773-C5F3B3316C73}.Debug|Win32.Build.0 = Debug|Win32
+		{D5DBD8E8-CF48-4CA3-B773-C5F3B3316C73}.Debug|x64.ActiveCfg = Debug|x64
+		{D5DBD8E8-CF48-4CA3-B773-C5F3B3316C73}.Debug|x64.Build.0 = Debug|x64
+		{D5DBD8E8-CF48-4CA3-B773-C5F3B3316C73}.Release|Win32.ActiveCfg = Release|Win32
+		{D5DBD8E8-CF48-4CA3-B773-C5F3B3316C73}.Release|Win32.Build.0 = Release|Win32
+		{D5DBD8E8-CF48-4CA3-B773-C5F3B3316C73}.Release|x64.ActiveCfg = Release|x64
+		{D5DBD8E8-CF48-4CA3-B773-C5F3B3316C73}.Release|x64.Build.0 = Release|x64
+		{0FF1232A-8377-4271-BC22-04E57A39FFB6}.Debug|Win32.ActiveCfg = Debug|Win32
+		{0FF1232A-8377-4271-BC22-04E57A39FFB6}.Debug|Win32.Build.0 = Debug|Win32
+		{0FF1232A-8377-4271-BC22-04E57A39FFB6}.Debug|x64.ActiveCfg = Debug|x64
+		{0FF1232A-8377-4271-BC22-04E57A39FFB6}.Debug|x64.Build.0 = Debug|x64
+		{0FF1232A-8377-4271-BC22-04E57A39FFB6}.Release|Win32.ActiveCfg = Release|Win32
+		{0FF1232A-8377-4271-BC22-04E57A39FFB6}.Release|Win32.Build.0 = Release|Win32
+		{0FF1232A-8377-4271-BC22-04E57A39FFB6}.Release|x64.ActiveCfg = Release|x64
+		{0FF1232A-8377-4271-BC22-04E57A39FFB6}.Release|x64.Build.0 = Release|x64
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal