diff --git a/.gitignore b/.gitignore
index 0ad02d1..a912c22 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,5 @@ out/
./cmake-build*/
./build/
./out/
+.vs/
+.idea/
\ No newline at end of file
diff --git a/.idea/editor.xml b/.idea/editor.xml
index 8900b9c..5fff85e 100644
--- a/.idea/editor.xml
+++ b/.idea/editor.xml
@@ -1,289 +1,244 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index 309514d..66c75bc 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -5,5 +5,9 @@
+
+
+
+
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 23ea1c4..4f07de3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,8 +22,10 @@ macro(compile_options target_name)
target_compile_options(${target_name} PUBLIC -fuse-ld=mold)
endif ()
- target_compile_options(${target_name} PRIVATE -Wall -Wextra -Wpedantic -Wno-comment)
- target_link_options(${target_name} PRIVATE -Wall -Wextra -Wpedantic -Wno-comment)
+ if (NOT MSVC)
+ target_compile_options(${target_name} PRIVATE -Wall -Wextra -Wpedantic -Wno-comment)
+ target_link_options(${target_name} PRIVATE -Wall -Wextra -Wpedantic -Wno-comment)
+ endif()
sanitizers(${target_name})
endmacro()
diff --git a/CMakeSettings.json b/CMakeSettings.json
new file mode 100644
index 0000000..34bebaf
--- /dev/null
+++ b/CMakeSettings.json
@@ -0,0 +1,15 @@
+{
+ "configurations": [
+ {
+ "name": "x64-Debug",
+ "generator": "Ninja",
+ "configurationType": "Debug",
+ "inheritEnvironments": [ "msvc_x64_x64" ],
+ "buildRoot": "${projectDir}\\out\\build\\${name}",
+ "installRoot": "${projectDir}\\out\\install\\${name}",
+ "cmakeCommandArgs": "",
+ "buildCommandArgs": "",
+ "ctestCommandArgs": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/lib/blt-with-graphics b/lib/blt-with-graphics
index 1033684..f49ee27 160000
--- a/lib/blt-with-graphics
+++ b/lib/blt-with-graphics
@@ -1 +1 @@
-Subproject commit 103368495a77f9fd55d7833a80ea49ecfa1e13c9
+Subproject commit f49ee2766ae82aa052973f977c1556d2c734c70f