diff --git a/bc.vcxproj b/bc.vcxproj
new file mode 100644
index 000000000000..2dbbd558618f
--- /dev/null
+++ b/bc.vcxproj
@@ -0,0 +1,278 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 16.0
+ {D5086CFE-052C-4742-B005-E05DB983BBA2}
+ Win32Proj
+
+
+
+ Application
+ true
+ v142
+
+
+ Application
+ false
+ v142
+
+
+ Application
+ true
+ v142
+
+
+ Application
+ false
+ v142
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Building strgen
+ CL /Fo:$(Configuration)\$(ProjectName)\ /Fe:$(Configuration)\$(ProjectName)\strgen.exe gen\strgen.c
+ gen\strgen.c
+ $(Configuration)\$(ProjectName)\strgen.exe
+
+
+ Generating $(Configuration)\$(ProjectName)/lib.c
+ START $(Configuration)\$(ProjectName)/strgen gen\lib.bc $(Configuration)\$(ProjectName)/lib.c bc_lib bc_lib_name BC_ENABLED 1
+ $(Configuration)\$(ProjectName)\strgen.exe;gen\lib.bc
+ $(Configuration)\$(ProjectName)\lib.c
+
+
+ Generating $(Configuration)\$(ProjectName)/lib2.c
+ START $(Configuration)\$(ProjectName)/strgen gen\lib2.bc $(Configuration)\$(ProjectName)/lib2.c bc_lib2 bc_lib2_name BC_ENABLED 1
+ $(Configuration)\$(ProjectName)\strgen.exe;gen\lib2.bc
+ $(Configuration)\$(ProjectName)\lib2.c
+
+
+ Generating $(Configuration)\$(ProjectName)/bc_help.c
+ START $(Configuration)\$(ProjectName)/strgen gen\bc_help.txt $(Configuration)\$(ProjectName)\bc_help.c bc_help "" BC_ENABLED
+ $(Configuration)\$(ProjectName)\strgen.exe;gen\bc_help.txt
+ $(Configuration)\$(ProjectName)\bc_help.c
+
+
+ Generating $(Configuration)\$(ProjectName)/dc_help.c
+ START $(Configuration)\$(ProjectName)/strgen gen\dc_help.txt $(Configuration)\$(ProjectName)\dc_help.c dc_help "" DC_ENABLED
+ $(Configuration)\$(ProjectName)\strgen.exe;gen\dc_help.txt
+ $(Configuration)\$(ProjectName)\dc_help.c
+
+
+
+ ClCompile
+
+
+
+ true
+ $(SolutionDir)\$(Configuration)\$(ProjectName)\
+ $(SolutionDir)\$(Configuration)\$(ProjectName)\
+
+
+ false
+ $(SolutionDir)\$(Configuration)\$(ProjectName)\
+ $(SolutionDir)\$(Configuration)\$(ProjectName)\
+
+
+ true
+ $(SolutionDir)\$(Configuration)\$(ProjectName)\
+ $(SolutionDir)\$(Configuration)\$(ProjectName)\
+
+
+ false
+ $(SolutionDir)\$(Configuration)\$(ProjectName)\
+ $(SolutionDir)\$(Configuration)\$(ProjectName)\
+
+
+
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=0;BC_ENABLE_NLS=0;BC_ENABLE_PROMPT=1;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=0;EXECSUFFIX=.exe;BUILD_TYPE=HN
+ $(SolutionDir)\include;%(AdditionalIncludeDirectories)
+ MultiThreadedDebugDLL
+ Level3
+ ProgramDatabase
+ Disabled
+ false
+ /W3 %(AdditionalOptions)
+
+
+ MachineX86
+ true
+ Console
+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;bcrypt.lib;ucrt.lib;%(AdditionalDependencies)
+
+
+ copy /b "$(SolutionDir)\$(Configuration)\$(ProjectName)\bc.exe" "$(SolutionDir)\$(Configuration)\$(ProjectName)\dc.exe"
+
+
+ Copying bc to dc...
+
+
+
+
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=0;BC_ENABLE_NLS=0;BC_ENABLE_PROMPT=1;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=0;EXECSUFFIX=.exe;BUILD_TYPE=HN
+ $(SolutionDir)\include;%(AdditionalIncludeDirectories)
+ MultiThreadedDLL
+ Level3
+ ProgramDatabase
+ MaxSpeed
+ false
+ /W3 %(AdditionalOptions)
+
+
+ MachineX86
+ false
+ Console
+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;bcrypt.lib;ucrt.lib;%(AdditionalDependencies)
+ true
+ true
+
+
+ copy /b "$(SolutionDir)\$(Configuration)\$(ProjectName)\bc.exe" "$(SolutionDir)\$(Configuration)\$(ProjectName)\dc.exe"
+
+
+ Copying bc to dc...
+
+
+
+
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=0;BC_ENABLE_NLS=0;BC_ENABLE_PROMPT=1;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=0;EXECSUFFIX=.exe;BUILD_TYPE=HN
+ $(SolutionDir)\include;%(AdditionalIncludeDirectories)
+ MultiThreadedDebugDLL
+ Level3
+ ProgramDatabase
+ Disabled
+ false
+ /W3 %(AdditionalOptions)
+
+
+ MachineX64
+ true
+ Console
+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;bcrypt.lib;ucrt.lib;%(AdditionalDependencies)
+
+
+ copy /b "$(SolutionDir)\$(Configuration)\$(ProjectName)\bc.exe" "$(SolutionDir)\$(Configuration)\$(ProjectName)\dc.exe"
+
+
+ Copying bc to dc...
+
+
+
+
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=0;BC_ENABLE_NLS=0;BC_ENABLE_PROMPT=1;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=0;EXECSUFFIX=.exe;BUILD_TYPE=HN
+ $(SolutionDir)\include;%(AdditionalIncludeDirectories)
+ MultiThreadedDLL
+ Level3
+ ProgramDatabase
+ MaxSpeed
+ false
+ /W3 %(AdditionalOptions)
+ Default
+
+
+ MachineX64
+ false
+ Console
+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;bcrypt.lib;ucrt.lib;%(AdditionalDependencies)
+
+
+ copy /b "$(SolutionDir)\$(Configuration)\$(ProjectName)\bc.exe" "$(SolutionDir)\$(Configuration)\$(ProjectName)\dc.exe"
+
+
+ Copying bc to dc...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bc.vcxproj.filters b/bc.vcxproj.filters
new file mode 100644
index 000000000000..141ecb808d08
--- /dev/null
+++ b/bc.vcxproj.filters
@@ -0,0 +1,182 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ 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
+
+
+
+
+ Source Files
+
+
+
+
+
+
+
+
+
+
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+
\ No newline at end of file
diff --git a/bcl.vcxproj b/bcl.vcxproj
new file mode 100644
index 000000000000..3b79c8b9ef64
--- /dev/null
+++ b/bcl.vcxproj
@@ -0,0 +1,161 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 16.0
+ {D2CC3DCF-7919-4DEF-839D-E9B897EC3E8E}
+ Win32Proj
+ 10.0
+
+
+
+ StaticLibrary
+ true
+ v142
+
+
+ StaticLibrary
+ false
+ v142
+
+
+ StaticLibrary
+ true
+ v142
+
+
+ StaticLibrary
+ false
+ v142
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ $(SolutionDir)\$(Configuration)\$(ProjectName)\
+ $(SolutionDir)\$(Configuration)\$(ProjectName)\
+
+
+ true
+ $(SolutionDir)\$(Configuration)\$(ProjectName)\
+ $(SolutionDir)\$(Configuration)\$(ProjectName)\
+
+
+ true
+ $(SolutionDir)\$(Configuration)\$(ProjectName)\
+ $(SolutionDir)\$(Configuration)\$(ProjectName)\
+
+
+ true
+ $(SolutionDir)\$(Configuration)\$(ProjectName)\
+ $(SolutionDir)\$(Configuration)\$(ProjectName)\
+
+
+
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=0;BC_ENABLE_NLS=0;BC_ENABLE_PROMPT=0;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=1
+ MultiThreadedDebugDLL
+ Level3
+ ProgramDatabase
+ Disabled
+ $(SolutionDir)\include
+
+
+ MachineX86
+ true
+ Windows
+
+
+
+
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=0;BC_ENABLE_NLS=0;BC_ENABLE_PROMPT=0;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=1
+ MultiThreadedDLL
+ Level3
+ ProgramDatabase
+ $(SolutionDir)\include
+
+
+ MachineX86
+ true
+ Windows
+ true
+ true
+
+
+
+
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=0;BC_ENABLE_NLS=0;BC_ENABLE_PROMPT=0;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=1
+ $(SolutionDir)\include
+
+
+
+
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);BC_ENABLED=1;DC_ENABLED=1;BC_ENABLE_EXTRA_MATH=1;BC_ENABLE_HISTORY=0;BC_ENABLE_NLS=0;BC_ENABLE_PROMPT=0;BC_DEBUG_CODE=0;BC_ENABLE_LIBRARY=1
+ $(SolutionDir)\include
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bcl.vcxproj.filters b/bcl.vcxproj.filters
new file mode 100644
index 000000000000..f75e0331cc88
--- /dev/null
+++ b/bcl.vcxproj.filters
@@ -0,0 +1,96 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav
+
+
+
+
+ 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
+
+
+
\ No newline at end of file