diff --git a/CMakeLists.txt b/CMakeLists.txt
index 61e4c2be3387b681175d116c049a0a9b958e5cee..2b43caccc4f3626aae7149ba5bcb97ca1e1ba009 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -44,15 +44,15 @@ find_package(OpenGL 4.3 REQUIRED)
 target_link_libraries(${PROJECT_NAME} OpenGL::GL)
 
 # GLFW
-find_package(GLFW3 REQUIRED)
+find_package(GLFW3 QUIET)
 if(GLFW3_FOUND)
 	target_include_directories(${PROJECT_NAME} PRIVATE ${GLFW3_INCLUDE_DIRS})
 	target_link_libraries(${PROJECT_NAME} ${GLFW3_LIBRARIES})
-elseif()
+else()
 	if (UNIX)
 		message(FATAL_ERROR "Error. Building on UNIX without GLFW3 packages installed is not supported.")
 	elseif(WIN32)
-		set(GLFW3_DIR lib/GLFW)
+		set(GLFW3_DIR lib/GLFW3)
 		find_package(GLFW3 CONFIG REQUIRED)
 		target_include_directories(${PROJECT_NAME} PRIVATE ${GLFW3_INCLUDE_DIRS})
 		target_link_libraries(${PROJECT_NAME} ${GLFW3_LIBRARIES})
diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
index 22fa6e788af4dcd22c92bf05a76dad7fc8dcca78..3a3bc0868b3e2a4a74e915792b1c83f1cb722180 100644
--- a/external/CMakeLists.txt
+++ b/external/CMakeLists.txt
@@ -3,7 +3,6 @@ set(LIB_NAME external)
 add_library(${LIB_NAME} INTERFACE)
 add_library(${LIB_NAME}::${LIB_NAME} ALIAS ${LIB_NAME})
 
-message(STATUS "${CMAKE_CURRENT_SOURCE_DIR}")
 target_include_directories(
     ${LIB_NAME}
     INTERFACE
diff --git a/lib/GLEW/GLEWconfig.cmake b/lib/GLEW/GLEWconfig.cmake
index 00c08b7ce20606886477b63d023f12ca50a40c2e..254da76a5eb2950c82fd19ae8d572b77fac6906f 100644
--- a/lib/GLEW/GLEWconfig.cmake
+++ b/lib/GLEW/GLEWconfig.cmake
@@ -27,7 +27,7 @@ if (WIN32)
     add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD        # Adds a post-build event to MyTest
             COMMAND ${CMAKE_COMMAND} -E copy_if_different  # which executes "cmake - E copy_if_different..."
             ${GLEW_BINARY}      # <--this is in-file
-            ${CMAKE_BINARY_DIR}/${GLEW_BINNAME}) # <--this is out-file path
+            ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${GLEW_BINNAME}) # <--this is out-file path
 
 endif()
 
diff --git a/lib/GLFW/GLFWconfig.cmake b/lib/GLFW/GLFWconfig.cmake
deleted file mode 100644
index e00327a4e7bf9daeb3650f7719e69daef070ccf8..0000000000000000000000000000000000000000
--- a/lib/GLFW/GLFWconfig.cmake
+++ /dev/null
@@ -1,35 +0,0 @@
-if (WIN32)
-
-    if (MSVC)
-
-        set(GLFW_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/MSVC/include)
-        set(GLFW_LIBDIR ${CMAKE_CURRENT_LIST_DIR}/MSVC/lib)
-
-        set(GLFW_LIBRARIES "${GLFW_LIBDIR}/glfw3.lib;${GLFW_LIBDIR}/glfw3dll.lib")
-
-        set(GLFW_BINDIR ${CMAKE_CURRENT_LIST_DIR}/MSVC/bin)
-        set(GLFW_BINNAME glfw3.dll)
-
-    elseif(MINGW)
-
-        set(GLFW_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/MinGW/include)
-
-        set(GLFW_LIBDIR ${CMAKE_CURRENT_LIST_DIR}/MinGW/lib)
-        set(GLFW_LIBRARIES "-L${GLFW_LIBDIR} -lglfw3 -lglfw3dll")
-
-        set(GLFW_BINDIR ${CMAKE_CURRENT_LIST_DIR}/MinGW/bin)
-        set(GLFW_BINNAME glfw3.dll)
-
-    endif()
-
-    set(GLFW_BINARY "${GLFW_BINDIR}/${GLFW_BINNAME}")
-
-    add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD        # Adds a post-build event to MyTest
-            COMMAND ${CMAKE_COMMAND} -E copy_if_different  # which executes "cmake - E copy_if_different..."
-            ${GLFW_BINARY}      # <--this is in-file
-            ${CMAKE_BINARY_DIR}/${GLFW_BINNAME}) # <--this is out-file path
-
-endif()
-
-
-#string(STRIP "${GLFW_LIBRARIES}" GLFW_LIBRARIES)
\ No newline at end of file
diff --git a/lib/GLFW/MSVC/bin/glfw3.dll b/lib/GLFW/MSVC/bin/glfw3.dll
deleted file mode 100644
index 456be5c47ed4e5c3ac4a15772244b9a74b90aab7..0000000000000000000000000000000000000000
Binary files a/lib/GLFW/MSVC/bin/glfw3.dll and /dev/null differ
diff --git a/lib/GLFW/MinGW/bin/glfw3.dll b/lib/GLFW/MinGW/bin/glfw3.dll
deleted file mode 100644
index 520dd4ff098306ac6494fa3df122ad2437aacdee..0000000000000000000000000000000000000000
Binary files a/lib/GLFW/MinGW/bin/glfw3.dll and /dev/null differ
diff --git a/lib/GLFW3/GLFW3config.cmake b/lib/GLFW3/GLFW3config.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..5c1dc0432c7fb29613083961cb2786fd319d7aee
--- /dev/null
+++ b/lib/GLFW3/GLFW3config.cmake
@@ -0,0 +1,35 @@
+if (WIN32)
+
+    if (MSVC)
+
+        set(GLFW3_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/MSVC/include)
+        set(GLFW3_LIBDIR ${CMAKE_CURRENT_LIST_DIR}/MSVC/lib)
+
+        set(GLFW3_LIBRARIES "${GLFW3_LIBDIR}/glfw3.lib;${GLFW3_LIBDIR}/glfw3dll.lib")
+
+        set(GLFW3_BINDIR ${CMAKE_CURRENT_LIST_DIR}/MSVC/bin)
+        set(GLFW3_BINNAME glfw3.dll)
+
+    elseif(MINGW)
+
+        set(GLFW3_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/MinGW/include)
+
+        set(GLFW3_LIBDIR ${CMAKE_CURRENT_LIST_DIR}/MinGW/lib)
+        set(GLFW3_LIBRARIES "-L${GLFW3_LIBDIR} -lglfw3 -lglfw3dll")
+
+        set(GLFW3_BINDIR ${CMAKE_CURRENT_LIST_DIR}/MinGW/bin)
+        set(GLFW3_BINNAME glfw3.dll)
+
+    endif()
+
+    set(GLFW3_BINARY "${GLFW3_BINDIR}/${GLFW3_BINNAME}")
+
+    add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD        # Adds a post-build event to MyTest
+            COMMAND ${CMAKE_COMMAND} -E copy_if_different  # which executes "cmake - E copy_if_different..."
+            ${GLFW3_BINARY}      # <--this is in-file
+            ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${GLFW3_BINNAME}) # <--this is out-file path
+
+endif()
+
+
+#string(STRIP "${GLFW_LIBRARIES}" GLFW_LIBRARIES)
\ No newline at end of file
diff --git a/lib/GLFW/MSVC/include/GLFW/glfw3.h b/lib/GLFW3/MSVC/include/GLFW/glfw3.h
similarity index 100%
rename from lib/GLFW/MSVC/include/GLFW/glfw3.h
rename to lib/GLFW3/MSVC/include/GLFW/glfw3.h
diff --git a/lib/GLFW/MSVC/include/GLFW/glfw3native.h b/lib/GLFW3/MSVC/include/GLFW/glfw3native.h
similarity index 100%
rename from lib/GLFW/MSVC/include/GLFW/glfw3native.h
rename to lib/GLFW3/MSVC/include/GLFW/glfw3native.h
diff --git a/lib/GLFW/MSVC/lib/glfw3.lib b/lib/GLFW3/MSVC/lib/glfw3.lib
similarity index 100%
rename from lib/GLFW/MSVC/lib/glfw3.lib
rename to lib/GLFW3/MSVC/lib/glfw3.lib
diff --git a/lib/GLFW/MSVC/lib/glfw3dll.lib b/lib/GLFW3/MSVC/lib/glfw3dll.lib
similarity index 100%
rename from lib/GLFW/MSVC/lib/glfw3dll.lib
rename to lib/GLFW3/MSVC/lib/glfw3dll.lib
diff --git a/lib/GLFW/MinGW/include/GLFW/glfw3.h b/lib/GLFW3/MinGW/include/GLFW/glfw3.h
similarity index 100%
rename from lib/GLFW/MinGW/include/GLFW/glfw3.h
rename to lib/GLFW3/MinGW/include/GLFW/glfw3.h
diff --git a/lib/GLFW/MinGW/include/GLFW/glfw3native.h b/lib/GLFW3/MinGW/include/GLFW/glfw3native.h
similarity index 100%
rename from lib/GLFW/MinGW/include/GLFW/glfw3native.h
rename to lib/GLFW3/MinGW/include/GLFW/glfw3native.h
diff --git a/lib/GLFW/MinGW/lib/libglfw3.a b/lib/GLFW3/MinGW/lib/libglfw3.a
similarity index 100%
rename from lib/GLFW/MinGW/lib/libglfw3.a
rename to lib/GLFW3/MinGW/lib/libglfw3.a
diff --git a/lib/GLFW/MinGW/lib/libglfw3dll.a b/lib/GLFW3/MinGW/lib/libglfw3dll.a
similarity index 100%
rename from lib/GLFW/MinGW/lib/libglfw3dll.a
rename to lib/GLFW3/MinGW/lib/libglfw3dll.a