diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 0000000000000000000000000000000000000000..ba92e65aeeb14e606d79476c2e90f768e7e7496c
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+OpenGL_Praktikum
\ No newline at end of file
diff --git a/assets/shaders/vertex.glsl b/assets/shaders/vertex.glsl
index acff157da2d5f3c15dee4d2d1c60ae5c6b496217..eee34ae80d1ce69d177b5bed83b591168545c2d0 100644
--- a/assets/shaders/vertex.glsl
+++ b/assets/shaders/vertex.glsl
@@ -1,12 +1,13 @@
 #version 330 core
 
-layout (location = 0) in vec2 pos;
+layout (location = 0) in vec3 pos;
 layout (location = 1) in vec3 colorRGB;
 
 out vec3 colorVS;
 
+uniform mat4 model;
+
 void main(){
     colorVS = colorRGB;
-    gl_Position = vec4(pos.x, pos.y, 0.0, 1.0);
-
+    gl_Position = model * vec4(pos.x, pos.y, pos.z, 1.0);
 }
diff --git a/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-a03b32e008426d8f2f78.json b/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-5ed625bc681e4acff5f2.json
similarity index 98%
rename from cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-a03b32e008426d8f2f78.json
rename to cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-5ed625bc681e4acff5f2.json
index 9d199424f931dc3f28a3b83c4effccc68254d457..1e5c861a4852c289c0bd19c232ab00746fe0296f 100644
--- a/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-a03b32e008426d8f2f78.json
+++ b/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-5ed625bc681e4acff5f2.json
@@ -312,7 +312,7 @@
 				{
 					"directoryIndex" : 0,
 					"id" : "OpenGL_Praktikum::@6890427a1f51a3e7e1df",
-					"jsonFile" : "target-OpenGL_Praktikum-Debug-e53beb17c7c1a9ab1673.json",
+					"jsonFile" : "target-OpenGL_Praktikum-Debug-758790e1d4c23c530eac.json",
 					"name" : "OpenGL_Praktikum",
 					"projectIndex" : 0
 				},
diff --git a/cmake-build-debug/.cmake/api/v1/reply/index-2025-04-21T11-10-37-0230.json b/cmake-build-debug/.cmake/api/v1/reply/index-2025-05-03T08-58-18-0963.json
similarity index 93%
rename from cmake-build-debug/.cmake/api/v1/reply/index-2025-04-21T11-10-37-0230.json
rename to cmake-build-debug/.cmake/api/v1/reply/index-2025-05-03T08-58-18-0963.json
index ad03f1c957a3fb68d69bbd88edd05a58bc4a8d1b..a015f16f76906ceaa8421633a2a27ae2e8573cf8 100644
--- a/cmake-build-debug/.cmake/api/v1/reply/index-2025-04-21T11-10-37-0230.json
+++ b/cmake-build-debug/.cmake/api/v1/reply/index-2025-05-03T08-58-18-0963.json
@@ -26,7 +26,7 @@
 	"objects" : 
 	[
 		{
-			"jsonFile" : "codemodel-v2-a03b32e008426d8f2f78.json",
+			"jsonFile" : "codemodel-v2-5ed625bc681e4acff5f2.json",
 			"kind" : "codemodel",
 			"version" : 
 			{
@@ -86,7 +86,7 @@
 		},
 		"codemodel-v2" : 
 		{
-			"jsonFile" : "codemodel-v2-a03b32e008426d8f2f78.json",
+			"jsonFile" : "codemodel-v2-5ed625bc681e4acff5f2.json",
 			"kind" : "codemodel",
 			"version" : 
 			{
diff --git a/cmake-build-debug/.cmake/api/v1/reply/target-OpenGL_Praktikum-Debug-e53beb17c7c1a9ab1673.json b/cmake-build-debug/.cmake/api/v1/reply/target-OpenGL_Praktikum-Debug-758790e1d4c23c530eac.json
similarity index 100%
rename from cmake-build-debug/.cmake/api/v1/reply/target-OpenGL_Praktikum-Debug-e53beb17c7c1a9ab1673.json
rename to cmake-build-debug/.cmake/api/v1/reply/target-OpenGL_Praktikum-Debug-758790e1d4c23c530eac.json
index c03fe8815943ab95502f9998c1fdbb378c2ef3b1..3ed25002196cbb56d519eca24a0cae4860dae2b8 100644
--- a/cmake-build-debug/.cmake/api/v1/reply/target-OpenGL_Praktikum-Debug-e53beb17c7c1a9ab1673.json
+++ b/cmake-build-debug/.cmake/api/v1/reply/target-OpenGL_Praktikum-Debug-758790e1d4c23c530eac.json
@@ -143,15 +143,15 @@
 	[
 		{
 			"backtrace" : 4,
-			"id" : "glfw::@3be6e5b4e7ef208431a5"
+			"id" : "stb::@9a2ae61009350e897074"
 		},
 		{
 			"backtrace" : 4,
-			"id" : "glew_s::@717d470b011500e00557"
+			"id" : "glfw::@3be6e5b4e7ef208431a5"
 		},
 		{
 			"backtrace" : 4,
-			"id" : "stb::@9a2ae61009350e897074"
+			"id" : "glew_s::@717d470b011500e00557"
 		}
 	],
 	"id" : "OpenGL_Praktikum::@6890427a1f51a3e7e1df",
diff --git a/cmake-build-debug/.ninja_deps b/cmake-build-debug/.ninja_deps
index f55307ba380053001d70b66f81876891129699af..15cfe7cee426304e98af689ae2099c6b8f2156dd 100644
Binary files a/cmake-build-debug/.ninja_deps and b/cmake-build-debug/.ninja_deps differ
diff --git a/cmake-build-debug/.ninja_log b/cmake-build-debug/.ninja_log
index acf677c27f15e8c167f527a1e92bce3ccb1086e1..b35d458b355b972381b24f8ea2c113c88fae2882 100644
--- a/cmake-build-debug/.ninja_log
+++ b/cmake-build-debug/.ninja_log
@@ -1,91 +1,39 @@
 # ninja log v5
-3624	8894	7669370466106664	CMakeFiles/OpenGL_Praktikum.dir/framework/OBJLoader.cpp.obj	d2f9fcf70f53a76f
-17	3285	7669370410097840	CMakeFiles/OpenGL_Praktikum.dir/src/Framework/SceneElements/Transform.cpp.obj	79d1706bd494aca2
-11853	12006	7669370497326852	libs/glfw-3.2.1/src/libglfw3.a	7f148bdc7acbce15
-7	2401	7669506471329095	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Window.cpp.obj	ab9d4e71a8c90cb0
-4	3621	7669370413481292	CMakeFiles/OpenGL_Praktikum.dir/src/Framework/Assets/ShaderProgram.cpp.obj	636d8f8ef2520675
-6611	8791	7669370465162118	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/win32_window.c.obj	f3663704c5e7b483
-30	4301	7669370420220282	CMakeFiles/OpenGL_Praktikum.dir/framework/OpenGLWindow.cpp.obj	34ea2011e57f2170
-4403	6231	7669370439568571	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/init.c.obj	c23d9b4a554c4f26
-23	4403	7669370421223407	CMakeFiles/OpenGL_Praktikum.dir/src/Framework/Assets/AssetManager.cpp.obj	a3cf3a9a87bd79b4
-10429	13176	7669370508983725	libs/glew-2.1.0/build/cmake/CMakeFiles/glew_s.dir/__/__/src/glew.c.obj	49302988e0a6d721
-12	2640	7669506473693169	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-8450	10269	7669370479948775	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/vulkan.c.obj	d183a1e3d22ea511
-3291	6487	7669370442125838	CMakeFiles/OpenGL_Praktikum.dir/framework/glerror.cpp.obj	283e4f1da4998727
-8895	10764	7669370484895428	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/window.c.obj	4f7adc10a9b5c100
-4714	6611	7669370443359662	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/context.c.obj	25e8349415fc9756
-7652	9563	7669370472885046	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/win32_tls.c.obj	37adbcd9a1b59fc1
-4244	7651	7669370453661179	CMakeFiles/OpenGL_Praktikum.dir/framework/Input.cpp.obj	3aa35e4a541b37cb
-17	2338	7669506470685266	CMakeFiles/OpenGL_Praktikum.dir/src/main.cpp.obj	195d9e105c20c9dc
-6233	8223	7669370459492474	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/egl_context.c.obj	a926327ff0927a5f
-6488	8450	7669370461743209	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/wgl_context.c.obj	6893a4a99f5b69c5
-8106	9886	7669370476121544	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/win32_time.c.obj	a83aac5291489e
-8791	10628	7669370483539639	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/input.c.obj	e27f20b419f1800e
-8224	10081	7669370478072770	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/monitor.c.obj	7ef9e67f35f28cd5
-10269	10429	7669370481599226	libs/glew-2.1.0/build/cmake/CMakeFiles/glew_s.dir/__/glew.rc.obj	b31ab018f98307f0
-10764	11144	7669370488695839	libs/stb/CMakeFiles/stb.dir/stb_image_write.c.obj	3526fea5ed75b7b5
-9563	11343	7669370490684038	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/win32_init.c.obj	7901c8c502250812
-9887	11665	7669370493917861	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/win32_monitor.c.obj	c9b9fd7628118e17
-10628	11766	7669370494909352	libs/stb/CMakeFiles/stb.dir/stb_image.c.obj	e492735f915a3aa
-10081	11852	7669370495762639	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/win32_joystick.c.obj	82d66a06693256c5
-11767	11943	7669370496675505	libs/stb/libstb.a	5abafcb88860c9c8
-13176	13263	7669370509917573	lib/libglew32d.a	bc6e147c3a6b7648
-2640	3324	7669506480490265	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-8	1768	7669508193222295	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-1768	2303	7669508198521004	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-7	1804	7669508534952347	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-1805	2359	7669508540417362	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-8	1778	7669508914553257	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-1779	2317	7669508919907237	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-19	2513	7669514322576474	CMakeFiles/OpenGL_Praktikum.dir/src/main.cpp.obj	195d9e105c20c9dc
-10	2602	7669514323481923	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Window.cpp.obj	ab9d4e71a8c90cb0
-15	2829	7669514325714278	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-2829	3496	7669514332354635	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-6	1947	7669514862731366	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-1947	2744	7669514870642524	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-9	2001	7669517380788253	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-2002	2588	7669517386597828	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-8	1909	7669517977277904	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-1910	2506	7669517983184399	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-7	1939	7669518162857376	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-1939	2511	7669518168527317	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-9	2116	7669519789886673	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-2116	2853	7669519797194302	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-7	1938	7669520881826552	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-1939	2544	7669520887803438	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-6	2017	7669521674423055	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-2018	2635	7669521680556755	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-7	1984	7669523432537306	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-1984	2579	7669523438430277	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-6	1866	7669524243513743	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-1866	2444	7669524249235101	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-10	2479	7669526915914095	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-2479	3095	7669526922019226	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-8	2183	7669527457386564	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-2184	2819	7669527463669229	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-7	2155	7669530622709377	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-2155	2847	7669530629555916	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-19	2545	7671225479814950	CMakeFiles/OpenGL_Praktikum.dir/src/main.cpp.obj	195d9e105c20c9dc
-13	2601	7671225480398483	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Window.cpp.obj	ab9d4e71a8c90cb0
-7	2865	7671225483034514	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-2865	3675	7671225491088897	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-7	1834	7671226063158935	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-1834	2369	7671226068418604	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-7	1783	7671226171177096	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-1784	2287	7671226176162456	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-6	1773	7671226497686615	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-1774	2280	7671226502688544	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-7	1915	7671227462939512	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-1915	2431	7671227468043552	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-7	1945	7671228298905136	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-1946	2448	7671228303861101	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-7	1778	7671229330744667	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-1778	2283	7671229335727142	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-6	2049	7671231570157807	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-2049	2562	7671231575226353	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-10	2146	7671234425820590	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-2147	2665	7671234430954610	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-7	1797	7671235311663664	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-1798	2366	7671235317308413	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
-9	2107	7671237043887114	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
-2107	2608	7671237048856388	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
+2882	6792	7679659060057445	CMakeFiles/OpenGL_Praktikum.dir/framework/OBJLoader.cpp.obj	d2f9fcf70f53a76f
+14	2068	7679659012872476	CMakeFiles/OpenGL_Praktikum.dir/src/Framework/SceneElements/Transform.cpp.obj	79d1706bd494aca2
+2	2404	7679659016234802	CMakeFiles/OpenGL_Praktikum.dir/src/Framework/Assets/ShaderProgram.cpp.obj	636d8f8ef2520675
+8585	8686	7679659079074389	libs/glfw-3.2.1/src/libglfw3.a	7f148bdc7acbce15
+14	2181	7680127839681680	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Window.cpp.obj	ab9d4e71a8c90cb0
+9	2998	7679659022168460	CMakeFiles/OpenGL_Praktikum.dir/src/Framework/Assets/AssetManager.cpp.obj	a3cf3a9a87bd79b4
+4575	6081	7679659053007093	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/win32_window.c.obj	f3663704c5e7b483
+25	3020	7679659022383581	CMakeFiles/OpenGL_Praktikum.dir/framework/OpenGLWindow.cpp.obj	34ea2011e57f2170
+7	1980	7680546988533112	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
+7404	9595	7679659088112295	libs/glew-2.1.0/build/cmake/CMakeFiles/glew_s.dir/__/__/src/glew.c.obj	49302988e0a6d721
+3021	4471	7679659036920002	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/context.c.obj	25e8349415fc9756
+6081	7579	7679659068000747	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/window.c.obj	4f7adc10a9b5c100
+2072	4482	7679659037011572	CMakeFiles/OpenGL_Praktikum.dir/framework/glerror.cpp.obj	283e4f1da4998727
+6792	8142	7679659073635816	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/vulkan.c.obj	d183a1e3d22ea511
+3211	4575	7679659037961859	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/init.c.obj	c23d9b4a554c4f26
+2405	4904	7679659041247449	CMakeFiles/OpenGL_Praktikum.dir/framework/Input.cpp.obj	3aa35e4a541b37cb
+4472	5841	7679659050610482	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/win32_tls.c.obj	37adbcd9a1b59fc1
+19	2059	7680127838466645	CMakeFiles/OpenGL_Praktikum.dir/src/main.cpp.obj	195d9e105c20c9dc
+4482	5810	7679659050307522	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/win32_time.c.obj	a83aac5291489e
+4904	6287	7679659055074854	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/egl_context.c.obj	a926327ff0927a5f
+5683	7088	7679659063074061	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/wgl_context.c.obj	6893a4a99f5b69c5
+5841	7250	7679659064709339	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/monitor.c.obj	7ef9e67f35f28cd5
+5810	7269	7679659064869333	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/input.c.obj	e27f20b419f1800e
+7270	7404	7679659066278733	libs/glew-2.1.0/build/cmake/CMakeFiles/glew_s.dir/__/glew.rc.obj	b31ab018f98307f0
+6287	7708	7679659069295843	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/win32_init.c.obj	7901c8c502250812
+7579	7873	7679659070944232	libs/stb/CMakeFiles/stb.dir/stb_image_write.c.obj	3526fea5ed75b7b5
+7088	8483	7679659077036547	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/win32_monitor.c.obj	c9b9fd7628118e17
+7708	8572	7679659077894579	libs/stb/CMakeFiles/stb.dir/stb_image.c.obj	e492735f915a3aa
+7250	8584	7679659078055622	libs/glfw-3.2.1/src/CMakeFiles/glfw.dir/win32_joystick.c.obj	82d66a06693256c5
+8572	8673	7679659078942705	libs/stb/libstb.a	5abafcb88860c9c8
+9595	9690	7679659089107791	lib/libglew32d.a	bc6e147c3a6b7648
+1980	2487	7680546993551144	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
+8	2413	7680547136335636	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
+2414	2964	7680547141798125	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
+7	2027	7680547270091627	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
+2028	2585	7680547275633075	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
+7	1925	7680547351739533	CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj	a89dc091bea583c7
+1926	2441	7680547356856641	OpenGL_Praktikum.exe	9fec4fbaeb613d2c
diff --git a/cmake-build-debug/CMakeFiles/3.27.8/CMakeDetermineCompilerABI_C.bin b/cmake-build-debug/CMakeFiles/3.27.8/CMakeDetermineCompilerABI_C.bin
index aa788a95747d34f6003e82cdae0b1eb11d1a89e8..8ea8d66c3d624f6adce21375f9777e5ff9dce851 100644
Binary files a/cmake-build-debug/CMakeFiles/3.27.8/CMakeDetermineCompilerABI_C.bin and b/cmake-build-debug/CMakeFiles/3.27.8/CMakeDetermineCompilerABI_C.bin differ
diff --git a/cmake-build-debug/CMakeFiles/3.27.8/CMakeDetermineCompilerABI_CXX.bin b/cmake-build-debug/CMakeFiles/3.27.8/CMakeDetermineCompilerABI_CXX.bin
index 1461e802bdd7942fb95536a2043c862c3079a560..6f5b02b3df517faebef93f1ee972679126eb67cc 100644
Binary files a/cmake-build-debug/CMakeFiles/3.27.8/CMakeDetermineCompilerABI_CXX.bin and b/cmake-build-debug/CMakeFiles/3.27.8/CMakeDetermineCompilerABI_CXX.bin differ
diff --git a/cmake-build-debug/CMakeFiles/3.27.8/CompilerIdC/a.exe b/cmake-build-debug/CMakeFiles/3.27.8/CompilerIdC/a.exe
index aa7402e3e86665a592cdab63f2fd9c0cc513240d..702fb979fbcdfc57c1a7afd66a4e8ad1b5cba450 100644
Binary files a/cmake-build-debug/CMakeFiles/3.27.8/CompilerIdC/a.exe and b/cmake-build-debug/CMakeFiles/3.27.8/CompilerIdC/a.exe differ
diff --git a/cmake-build-debug/CMakeFiles/3.27.8/CompilerIdCXX/a.exe b/cmake-build-debug/CMakeFiles/3.27.8/CompilerIdCXX/a.exe
index 8d7bdb6354e2aa7ff01084462b2bcdd19f751b9f..65a317cde10c6acdb3dc325d82e65ae24d668dd0 100644
Binary files a/cmake-build-debug/CMakeFiles/3.27.8/CompilerIdCXX/a.exe and b/cmake-build-debug/CMakeFiles/3.27.8/CompilerIdCXX/a.exe differ
diff --git a/cmake-build-debug/CMakeFiles/CMakeConfigureLog.yaml b/cmake-build-debug/CMakeFiles/CMakeConfigureLog.yaml
index 8ee0bd2af95c09f6927bf9a517eac5ff2b19c8c5..1bdcd9123c309e101fff261aa7552c54f6099a4b 100644
--- a/cmake-build-debug/CMakeFiles/CMakeConfigureLog.yaml
+++ b/cmake-build-debug/CMakeFiles/CMakeConfigureLog.yaml
@@ -61,18 +61,18 @@ events:
     checks:
       - "Detecting C compiler ABI info"
     directories:
-      source: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-ykmwgx"
-      binary: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-ykmwgx"
+      source: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-80hamq"
+      binary: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-80hamq"
     cmakeVariables:
       CMAKE_C_FLAGS: ""
     buildResult:
       variable: "CMAKE_C_ABI_COMPILED"
       cached: true
       stdout: |
-        Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-ykmwgx'
+        Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-80hamq'
         
-        Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_b7506
-        [1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe   -fdiagnostics-color=always   -v -o CMakeFiles/cmTC_b7506.dir/CMakeCCompilerABI.c.obj -c "C:/Program Files/JetBrains/CLion 2023.3.3/bin/cmake/win/x64/share/cmake-3.27/Modules/CMakeCCompilerABI.c"
+        Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_08740
+        [1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe   -fdiagnostics-color=always   -v -o CMakeFiles/cmTC_08740.dir/CMakeCCompilerABI.c.obj -c "C:/Program Files/JetBrains/CLion 2023.3.3/bin/cmake/win/x64/share/cmake-3.27/Modules/CMakeCCompilerABI.c"
         Using built-in specs.
         COLLECT_GCC=C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe
         Target: x86_64-w64-mingw32
@@ -80,8 +80,8 @@ events:
         Thread model: posix
         Supported LTO compression algorithms: zlib
         gcc version 13.1.0 (GCC) 
-        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b7506.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_b7506.dir/'
-         C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/cc1.exe -quiet -v -iprefix C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/ -D_REENTRANT C:/Program Files/JetBrains/CLion 2023.3.3/bin/cmake/win/x64/share/cmake-3.27/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_b7506.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=nocona -version -fdiagnostics-color=always -o C:\\Users\\saifa\\AppData\\Local\\Temp\\cc0WW7ve.s
+        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_08740.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_08740.dir/'
+         C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/cc1.exe -quiet -v -iprefix C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/ -D_REENTRANT C:/Program Files/JetBrains/CLion 2023.3.3/bin/cmake/win/x64/share/cmake-3.27/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_08740.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=nocona -version -fdiagnostics-color=always -o C:\\Users\\saifa\\AppData\\Local\\Temp\\ccM0Cewd.s
         GNU C17 (GCC) version 13.1.0 (x86_64-w64-mingw32)
         	compiled by GNU C version 13.1.0, GMP version 6.2.1, MPFR version 4.2.0-p4, MPC version 1.3.1, isl version none
         GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
@@ -99,13 +99,13 @@ events:
          C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include
         End of search list.
         Compiler executable checksum: 2aa4fcf5c9208168c5e2d38a58fc2a97
-        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b7506.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_b7506.dir/'
-         as -v -o CMakeFiles/cmTC_b7506.dir/CMakeCCompilerABI.c.obj C:\\Users\\saifa\\AppData\\Local\\Temp\\cc0WW7ve.s
+        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_08740.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_08740.dir/'
+         as -v -o CMakeFiles/cmTC_08740.dir/CMakeCCompilerABI.c.obj C:\\Users\\saifa\\AppData\\Local\\Temp\\ccM0Cewd.s
         GNU assembler version 2.40 (x86_64-w64-mingw32) using BFD version (GNU Binutils) 2.40
         COMPILER_PATH=C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/
         LIBRARY_PATH=C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../
-        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b7506.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_b7506.dir/CMakeCCompilerABI.c.'
-        [2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe  -v CMakeFiles/cmTC_b7506.dir/CMakeCCompilerABI.c.obj -o cmTC_b7506.exe -Wl,--out-implib,libcmTC_b7506.dll.a -Wl,--major-image-version,0,--minor-image-version,0   && cd ."
+        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_08740.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_08740.dir/CMakeCCompilerABI.c.'
+        [2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe  -v CMakeFiles/cmTC_08740.dir/CMakeCCompilerABI.c.obj -o cmTC_08740.exe -Wl,--out-implib,libcmTC_08740.dll.a -Wl,--major-image-version,0,--minor-image-version,0   && cd ."
         Using built-in specs.
         COLLECT_GCC=C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe
         COLLECT_LTO_WRAPPER=C:/Program\\ Files/JetBrains/CLion\\ 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe
@@ -116,9 +116,9 @@ events:
         gcc version 13.1.0 (GCC) 
         COMPILER_PATH=C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/
         LIBRARY_PATH=C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../
-        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_b7506.exe' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_b7506.'
-         C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe -m i386pep -Bdynamic -o cmTC_b7506.exe C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. CMakeFiles/cmTC_b7506.dir/CMakeCCompilerABI.c.obj --out-implib libcmTC_b7506.dll.a --major-image-version 0 --minor-image-version 0 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o
-        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_b7506.exe' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_b7506.'
+        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_08740.exe' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_08740.'
+         C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe -m i386pep -Bdynamic -o cmTC_08740.exe C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. CMakeFiles/cmTC_08740.dir/CMakeCCompilerABI.c.obj --out-implib libcmTC_08740.dll.a --major-image-version 0 --minor-image-version 0 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o
+        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_08740.exe' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_08740.'
         
       exitCode: 0
   -
@@ -152,10 +152,10 @@ events:
     message: |
       Parsed C implicit link information:
         link line regex: [^( *|.*[/\\])(ld\\.exe|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
-        ignore line: [Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-ykmwgx']
+        ignore line: [Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-80hamq']
         ignore line: []
-        ignore line: [Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_b7506]
-        ignore line: [[1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe   -fdiagnostics-color=always   -v -o CMakeFiles/cmTC_b7506.dir/CMakeCCompilerABI.c.obj -c "C:/Program Files/JetBrains/CLion 2023.3.3/bin/cmake/win/x64/share/cmake-3.27/Modules/CMakeCCompilerABI.c"]
+        ignore line: [Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_08740]
+        ignore line: [[1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe   -fdiagnostics-color=always   -v -o CMakeFiles/cmTC_08740.dir/CMakeCCompilerABI.c.obj -c "C:/Program Files/JetBrains/CLion 2023.3.3/bin/cmake/win/x64/share/cmake-3.27/Modules/CMakeCCompilerABI.c"]
         ignore line: [Using built-in specs.]
         ignore line: [COLLECT_GCC=C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe]
         ignore line: [Target: x86_64-w64-mingw32]
@@ -163,8 +163,8 @@ events:
         ignore line: [Thread model: posix]
         ignore line: [Supported LTO compression algorithms: zlib]
         ignore line: [gcc version 13.1.0 (GCC) ]
-        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b7506.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_b7506.dir/']
-        ignore line: [ C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/cc1.exe -quiet -v -iprefix C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/ -D_REENTRANT C:/Program Files/JetBrains/CLion 2023.3.3/bin/cmake/win/x64/share/cmake-3.27/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_b7506.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=nocona -version -fdiagnostics-color=always -o C:\\Users\\saifa\\AppData\\Local\\Temp\\cc0WW7ve.s]
+        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_08740.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_08740.dir/']
+        ignore line: [ C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/cc1.exe -quiet -v -iprefix C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/ -D_REENTRANT C:/Program Files/JetBrains/CLion 2023.3.3/bin/cmake/win/x64/share/cmake-3.27/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_08740.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=nocona -version -fdiagnostics-color=always -o C:\\Users\\saifa\\AppData\\Local\\Temp\\ccM0Cewd.s]
         ignore line: [GNU C17 (GCC) version 13.1.0 (x86_64-w64-mingw32)]
         ignore line: [	compiled by GNU C version 13.1.0  GMP version 6.2.1  MPFR version 4.2.0-p4  MPC version 1.3.1  isl version none]
         ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
@@ -182,8 +182,8 @@ events:
         ignore line: [ C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include]
         ignore line: [End of search list.]
         ignore line: [Compiler executable checksum: 2aa4fcf5c9208168c5e2d38a58fc2a97]
-        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b7506.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_b7506.dir/']
-        ignore line: [ as -v -o CMakeFiles/cmTC_b7506.dir/CMakeCCompilerABI.c.obj C:\\Users\\saifa\\AppData\\Local\\Temp\\cc0WW7ve.s]
+        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_08740.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_08740.dir/']
+        ignore line: [ as -v -o CMakeFiles/cmTC_08740.dir/CMakeCCompilerABI.c.obj C:\\Users\\saifa\\AppData\\Local\\Temp\\ccM0Cewd.s]
         ignore line: [GNU assembler version 2.40 (x86_64-w64-mingw32) using BFD version (GNU Binutils) 2.40]
         ignore line: [COMPILER_PATH=C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/]
         ignore line: [C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/]
@@ -193,8 +193,8 @@ events:
         ignore line: [C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/]
         ignore line: [C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/]
         ignore line: [C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../]
-        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b7506.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_b7506.dir/CMakeCCompilerABI.c.']
-        ignore line: [[2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe  -v CMakeFiles/cmTC_b7506.dir/CMakeCCompilerABI.c.obj -o cmTC_b7506.exe -Wl --out-implib libcmTC_b7506.dll.a -Wl --major-image-version 0 --minor-image-version 0   && cd ."]
+        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_08740.dir/CMakeCCompilerABI.c.obj' '-c' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_08740.dir/CMakeCCompilerABI.c.']
+        ignore line: [[2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe  -v CMakeFiles/cmTC_08740.dir/CMakeCCompilerABI.c.obj -o cmTC_08740.exe -Wl --out-implib libcmTC_08740.dll.a -Wl --major-image-version 0 --minor-image-version 0   && cd ."]
         ignore line: [Using built-in specs.]
         ignore line: [COLLECT_GCC=C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe]
         ignore line: [COLLECT_LTO_WRAPPER=C:/Program\\ Files/JetBrains/CLion\\ 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe]
@@ -211,9 +211,9 @@ events:
         ignore line: [C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/]
         ignore line: [C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/]
         ignore line: [C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../]
-        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_b7506.exe' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_b7506.']
-        ignore line: [ C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe -m i386pep -Bdynamic -o cmTC_b7506.exe C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. CMakeFiles/cmTC_b7506.dir/CMakeCCompilerABI.c.obj --out-implib libcmTC_b7506.dll.a --major-image-version 0 --minor-image-version 0 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o]
-        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_b7506.exe' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_b7506.']
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_08740.exe' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_08740.']
+        ignore line: [ C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe -m i386pep -Bdynamic -o cmTC_08740.exe C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. CMakeFiles/cmTC_08740.dir/CMakeCCompilerABI.c.obj --out-implib libcmTC_08740.dll.a --major-image-version 0 --minor-image-version 0 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_08740.exe' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_08740.']
         ignore line: []
         ignore line: []
         implicit libs: []
@@ -231,18 +231,18 @@ events:
     checks:
       - "Detecting CXX compiler ABI info"
     directories:
-      source: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-c8tlgz"
-      binary: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-c8tlgz"
+      source: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-fbc63t"
+      binary: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-fbc63t"
     cmakeVariables:
       CMAKE_CXX_FLAGS: ""
     buildResult:
       variable: "CMAKE_CXX_ABI_COMPILED"
       cached: true
       stdout: |
-        Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-c8tlgz'
+        Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-fbc63t'
         
-        Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_6269d
-        [1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\G__~1.EXE   -fdiagnostics-color=always   -v -o CMakeFiles/cmTC_6269d.dir/CMakeCXXCompilerABI.cpp.obj -c "C:/Program Files/JetBrains/CLion 2023.3.3/bin/cmake/win/x64/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp"
+        Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_50e73
+        [1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\G__~1.EXE   -fdiagnostics-color=always   -v -o CMakeFiles/cmTC_50e73.dir/CMakeCXXCompilerABI.cpp.obj -c "C:/Program Files/JetBrains/CLion 2023.3.3/bin/cmake/win/x64/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp"
         Using built-in specs.
         COLLECT_GCC=C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\G__~1.EXE
         Target: x86_64-w64-mingw32
@@ -250,8 +250,8 @@ events:
         Thread model: posix
         Supported LTO compression algorithms: zlib
         gcc version 13.1.0 (GCC) 
-        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_6269d.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_6269d.dir/'
-         C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/cc1plus.exe -quiet -v -iprefix C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/ -D_REENTRANT C:/Program Files/JetBrains/CLion 2023.3.3/bin/cmake/win/x64/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_6269d.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=nocona -version -fdiagnostics-color=always -o C:\\Users\\saifa\\AppData\\Local\\Temp\\ccHMCPAD.s
+        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_50e73.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_50e73.dir/'
+         C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/cc1plus.exe -quiet -v -iprefix C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/ -D_REENTRANT C:/Program Files/JetBrains/CLion 2023.3.3/bin/cmake/win/x64/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_50e73.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=nocona -version -fdiagnostics-color=always -o C:\\Users\\saifa\\AppData\\Local\\Temp\\cctahv4x.s
         GNU C++17 (GCC) version 13.1.0 (x86_64-w64-mingw32)
         	compiled by GNU C version 13.1.0, GMP version 6.2.1, MPFR version 4.2.0-p4, MPC version 1.3.1, isl version none
         GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
@@ -275,13 +275,13 @@ events:
          C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include
         End of search list.
         Compiler executable checksum: e75de627edc3c57e31324b930b15b056
-        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_6269d.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_6269d.dir/'
-         as -v -o CMakeFiles/cmTC_6269d.dir/CMakeCXXCompilerABI.cpp.obj C:\\Users\\saifa\\AppData\\Local\\Temp\\ccHMCPAD.s
+        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_50e73.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_50e73.dir/'
+         as -v -o CMakeFiles/cmTC_50e73.dir/CMakeCXXCompilerABI.cpp.obj C:\\Users\\saifa\\AppData\\Local\\Temp\\cctahv4x.s
         GNU assembler version 2.40 (x86_64-w64-mingw32) using BFD version (GNU Binutils) 2.40
         COMPILER_PATH=C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/
         LIBRARY_PATH=C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../
-        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_6269d.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_6269d.dir/CMakeCXXCompilerABI.cpp.'
-        [2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\G__~1.EXE  -v CMakeFiles/cmTC_6269d.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_6269d.exe -Wl,--out-implib,libcmTC_6269d.dll.a -Wl,--major-image-version,0,--minor-image-version,0   && cd ."
+        COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_50e73.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_50e73.dir/CMakeCXXCompilerABI.cpp.'
+        [2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\G__~1.EXE  -v CMakeFiles/cmTC_50e73.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_50e73.exe -Wl,--out-implib,libcmTC_50e73.dll.a -Wl,--major-image-version,0,--minor-image-version,0   && cd ."
         Using built-in specs.
         COLLECT_GCC=C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\G__~1.EXE
         COLLECT_LTO_WRAPPER=C:/Program\\ Files/JetBrains/CLion\\ 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe
@@ -292,9 +292,9 @@ events:
         gcc version 13.1.0 (GCC) 
         COMPILER_PATH=C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/
         LIBRARY_PATH=C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/;C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../
-        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_6269d.exe' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_6269d.'
-         C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe -m i386pep -Bdynamic -o cmTC_6269d.exe C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. CMakeFiles/cmTC_6269d.dir/CMakeCXXCompilerABI.cpp.obj --out-implib libcmTC_6269d.dll.a --major-image-version 0 --minor-image-version 0 -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o
-        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_6269d.exe' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_6269d.'
+        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_50e73.exe' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_50e73.'
+         C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe -m i386pep -Bdynamic -o cmTC_50e73.exe C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. CMakeFiles/cmTC_50e73.dir/CMakeCXXCompilerABI.cpp.obj --out-implib libcmTC_50e73.dll.a --major-image-version 0 --minor-image-version 0 -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o
+        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_50e73.exe' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_50e73.'
         
       exitCode: 0
   -
@@ -334,10 +334,10 @@ events:
     message: |
       Parsed CXX implicit link information:
         link line regex: [^( *|.*[/\\])(ld\\.exe|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
-        ignore line: [Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-c8tlgz']
+        ignore line: [Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-fbc63t']
         ignore line: []
-        ignore line: [Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_6269d]
-        ignore line: [[1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\G__~1.EXE   -fdiagnostics-color=always   -v -o CMakeFiles/cmTC_6269d.dir/CMakeCXXCompilerABI.cpp.obj -c "C:/Program Files/JetBrains/CLion 2023.3.3/bin/cmake/win/x64/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp"]
+        ignore line: [Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_50e73]
+        ignore line: [[1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\G__~1.EXE   -fdiagnostics-color=always   -v -o CMakeFiles/cmTC_50e73.dir/CMakeCXXCompilerABI.cpp.obj -c "C:/Program Files/JetBrains/CLion 2023.3.3/bin/cmake/win/x64/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp"]
         ignore line: [Using built-in specs.]
         ignore line: [COLLECT_GCC=C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\G__~1.EXE]
         ignore line: [Target: x86_64-w64-mingw32]
@@ -345,8 +345,8 @@ events:
         ignore line: [Thread model: posix]
         ignore line: [Supported LTO compression algorithms: zlib]
         ignore line: [gcc version 13.1.0 (GCC) ]
-        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_6269d.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_6269d.dir/']
-        ignore line: [ C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/cc1plus.exe -quiet -v -iprefix C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/ -D_REENTRANT C:/Program Files/JetBrains/CLion 2023.3.3/bin/cmake/win/x64/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_6269d.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=nocona -version -fdiagnostics-color=always -o C:\\Users\\saifa\\AppData\\Local\\Temp\\ccHMCPAD.s]
+        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_50e73.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_50e73.dir/']
+        ignore line: [ C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/cc1plus.exe -quiet -v -iprefix C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/ -D_REENTRANT C:/Program Files/JetBrains/CLion 2023.3.3/bin/cmake/win/x64/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_50e73.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=nocona -version -fdiagnostics-color=always -o C:\\Users\\saifa\\AppData\\Local\\Temp\\cctahv4x.s]
         ignore line: [GNU C++17 (GCC) version 13.1.0 (x86_64-w64-mingw32)]
         ignore line: [	compiled by GNU C version 13.1.0  GMP version 6.2.1  MPFR version 4.2.0-p4  MPC version 1.3.1  isl version none]
         ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
@@ -370,8 +370,8 @@ events:
         ignore line: [ C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/include]
         ignore line: [End of search list.]
         ignore line: [Compiler executable checksum: e75de627edc3c57e31324b930b15b056]
-        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_6269d.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_6269d.dir/']
-        ignore line: [ as -v -o CMakeFiles/cmTC_6269d.dir/CMakeCXXCompilerABI.cpp.obj C:\\Users\\saifa\\AppData\\Local\\Temp\\ccHMCPAD.s]
+        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_50e73.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_50e73.dir/']
+        ignore line: [ as -v -o CMakeFiles/cmTC_50e73.dir/CMakeCXXCompilerABI.cpp.obj C:\\Users\\saifa\\AppData\\Local\\Temp\\cctahv4x.s]
         ignore line: [GNU assembler version 2.40 (x86_64-w64-mingw32) using BFD version (GNU Binutils) 2.40]
         ignore line: [COMPILER_PATH=C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/]
         ignore line: [C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/]
@@ -381,8 +381,8 @@ events:
         ignore line: [C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/]
         ignore line: [C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/]
         ignore line: [C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../]
-        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_6269d.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_6269d.dir/CMakeCXXCompilerABI.cpp.']
-        ignore line: [[2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\G__~1.EXE  -v CMakeFiles/cmTC_6269d.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_6269d.exe -Wl --out-implib libcmTC_6269d.dll.a -Wl --major-image-version 0 --minor-image-version 0   && cd ."]
+        ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_50e73.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'CMakeFiles/cmTC_50e73.dir/CMakeCXXCompilerABI.cpp.']
+        ignore line: [[2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\G__~1.EXE  -v CMakeFiles/cmTC_50e73.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_50e73.exe -Wl --out-implib libcmTC_50e73.dll.a -Wl --major-image-version 0 --minor-image-version 0   && cd ."]
         ignore line: [Using built-in specs.]
         ignore line: [COLLECT_GCC=C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\G__~1.EXE]
         ignore line: [COLLECT_LTO_WRAPPER=C:/Program\\ Files/JetBrains/CLion\\ 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/lto-wrapper.exe]
@@ -399,9 +399,9 @@ events:
         ignore line: [C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib/]
         ignore line: [C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/]
         ignore line: [C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../]
-        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_6269d.exe' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_6269d.']
-        ignore line: [ C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe -m i386pep -Bdynamic -o cmTC_6269d.exe C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. CMakeFiles/cmTC_6269d.dir/CMakeCXXCompilerABI.cpp.obj --out-implib libcmTC_6269d.dll.a --major-image-version 0 --minor-image-version 0 -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o]
-        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_6269d.exe' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_6269d.']
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_50e73.exe' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_50e73.']
+        ignore line: [ C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/13.1.0/collect2.exe -m i386pep -Bdynamic -o cmTC_50e73.exe C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtbegin.o -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0 -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib -LC:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../.. CMakeFiles/cmTC_50e73.dir/CMakeCXXCompilerABI.cpp.obj --out-implib libcmTC_50e73.dll.a --major-image-version 0 --minor-image-version 0 -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/Program Files/JetBrains/CLion 2023.3.3/bin/mingw/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/crtend.o]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_50e73.exe' '-shared-libgcc' '-mtune=generic' '-march=nocona' '-dumpdir' 'cmTC_50e73.']
         ignore line: []
         ignore line: []
         implicit libs: []
@@ -421,8 +421,8 @@ events:
     checks:
       - "Performing Test CMAKE_HAVE_LIBC_PTHREAD"
     directories:
-      source: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-8rx2e5"
-      binary: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-8rx2e5"
+      source: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-awybde"
+      binary: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-awybde"
     cmakeVariables:
       CMAKE_C_FLAGS: ""
       CMAKE_MODULE_PATH: "C:/Users/saifa/Desktop/Visual Computing/repo/libs/glfw-3.2.1/CMake/modules"
@@ -430,11 +430,11 @@ events:
       variable: "CMAKE_HAVE_LIBC_PTHREAD"
       cached: true
       stdout: |
-        Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-8rx2e5'
+        Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-awybde'
         
-        Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_0715c
-        [1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe -DCMAKE_HAVE_LIBC_PTHREAD  -fdiagnostics-color=always -o CMakeFiles/cmTC_0715c.dir/src.c.obj -c "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-8rx2e5/src.c"
-        [2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe   CMakeFiles/cmTC_0715c.dir/src.c.obj -o cmTC_0715c.exe -Wl,--out-implib,libcmTC_0715c.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
+        Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_44575
+        [1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe -DCMAKE_HAVE_LIBC_PTHREAD  -fdiagnostics-color=always -o CMakeFiles/cmTC_44575.dir/src.c.obj -c "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-awybde/src.c"
+        [2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe   CMakeFiles/cmTC_44575.dir/src.c.obj -o cmTC_44575.exe -Wl,--out-implib,libcmTC_44575.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
         
       exitCode: 0
   -
@@ -445,8 +445,8 @@ events:
     checks:
       - "Looking for dinput.h"
     directories:
-      source: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-1msg1m"
-      binary: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-1msg1m"
+      source: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-jgc3vj"
+      binary: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-jgc3vj"
     cmakeVariables:
       CMAKE_C_FLAGS: ""
       CMAKE_MODULE_PATH: "C:/Users/saifa/Desktop/Visual Computing/repo/libs/glfw-3.2.1/CMake/modules"
@@ -454,11 +454,11 @@ events:
       variable: "DINPUT_H_FOUND"
       cached: true
       stdout: |
-        Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-1msg1m'
+        Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-jgc3vj'
         
-        Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_58d25
-        [1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe   -fdiagnostics-color=always -o CMakeFiles/cmTC_58d25.dir/CheckIncludeFile.c.obj -c "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-1msg1m/CheckIncludeFile.c"
-        [2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe   CMakeFiles/cmTC_58d25.dir/CheckIncludeFile.c.obj -o cmTC_58d25.exe -Wl,--out-implib,libcmTC_58d25.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
+        Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_dac3b
+        [1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe   -fdiagnostics-color=always -o CMakeFiles/cmTC_dac3b.dir/CheckIncludeFile.c.obj -c "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-jgc3vj/CheckIncludeFile.c"
+        [2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe   CMakeFiles/cmTC_dac3b.dir/CheckIncludeFile.c.obj -o cmTC_dac3b.exe -Wl,--out-implib,libcmTC_dac3b.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
         
       exitCode: 0
   -
@@ -469,8 +469,8 @@ events:
     checks:
       - "Looking for xinput.h"
     directories:
-      source: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-85aumz"
-      binary: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-85aumz"
+      source: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-qz55s3"
+      binary: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-qz55s3"
     cmakeVariables:
       CMAKE_C_FLAGS: ""
       CMAKE_MODULE_PATH: "C:/Users/saifa/Desktop/Visual Computing/repo/libs/glfw-3.2.1/CMake/modules"
@@ -478,11 +478,11 @@ events:
       variable: "XINPUT_H_FOUND"
       cached: true
       stdout: |
-        Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-85aumz'
+        Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-qz55s3'
         
-        Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_f89bc
-        [1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe   -fdiagnostics-color=always -o CMakeFiles/cmTC_f89bc.dir/CheckIncludeFile.c.obj -c "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-85aumz/CheckIncludeFile.c"
-        [2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe   CMakeFiles/cmTC_f89bc.dir/CheckIncludeFile.c.obj -o cmTC_f89bc.exe -Wl,--out-implib,libcmTC_f89bc.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
+        Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_f6541
+        [1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe   -fdiagnostics-color=always -o CMakeFiles/cmTC_f6541.dir/CheckIncludeFile.c.obj -c "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-qz55s3/CheckIncludeFile.c"
+        [2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe   CMakeFiles/cmTC_f6541.dir/CheckIncludeFile.c.obj -o cmTC_f6541.exe -Wl,--out-implib,libcmTC_f6541.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
         
       exitCode: 0
   -
@@ -495,8 +495,8 @@ events:
     checks:
       - "Performing Test _GLFW_HAS_DEP"
     directories:
-      source: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-g9t2x2"
-      binary: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-g9t2x2"
+      source: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-v04okn"
+      binary: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-v04okn"
     cmakeVariables:
       CMAKE_C_FLAGS: ""
       CMAKE_MODULE_PATH: "C:/Users/saifa/Desktop/Visual Computing/repo/libs/glfw-3.2.1/CMake/modules"
@@ -504,11 +504,11 @@ events:
       variable: "_GLFW_HAS_DEP"
       cached: true
       stdout: |
-        Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-g9t2x2'
+        Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-v04okn'
         
-        Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_cf2c8
-        [1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe -D_GLFW_HAS_DEP  -Wl,--nxcompat -fdiagnostics-color=always -o CMakeFiles/cmTC_cf2c8.dir/src.c.obj -c "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-g9t2x2/src.c"
-        [2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe -Wl,--nxcompat  CMakeFiles/cmTC_cf2c8.dir/src.c.obj -o cmTC_cf2c8.exe -Wl,--out-implib,libcmTC_cf2c8.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
+        Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_69c57
+        [1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe -D_GLFW_HAS_DEP  -Wl,--nxcompat -fdiagnostics-color=always -o CMakeFiles/cmTC_69c57.dir/src.c.obj -c "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-v04okn/src.c"
+        [2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe -Wl,--nxcompat  CMakeFiles/cmTC_69c57.dir/src.c.obj -o cmTC_69c57.exe -Wl,--out-implib,libcmTC_69c57.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
         
       exitCode: 0
   -
@@ -521,8 +521,8 @@ events:
     checks:
       - "Performing Test _GLFW_HAS_ASLR"
     directories:
-      source: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-6kdk0s"
-      binary: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-6kdk0s"
+      source: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-7rsfho"
+      binary: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-7rsfho"
     cmakeVariables:
       CMAKE_C_FLAGS: ""
       CMAKE_MODULE_PATH: "C:/Users/saifa/Desktop/Visual Computing/repo/libs/glfw-3.2.1/CMake/modules"
@@ -530,11 +530,11 @@ events:
       variable: "_GLFW_HAS_ASLR"
       cached: true
       stdout: |
-        Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-6kdk0s'
+        Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-7rsfho'
         
-        Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_a10f5
-        [1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe -D_GLFW_HAS_ASLR  -Wl,--dynamicbase -fdiagnostics-color=always -o CMakeFiles/cmTC_a10f5.dir/src.c.obj -c "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-6kdk0s/src.c"
-        [2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe -Wl,--dynamicbase  CMakeFiles/cmTC_a10f5.dir/src.c.obj -o cmTC_a10f5.exe -Wl,--out-implib,libcmTC_a10f5.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
+        Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_ac95e
+        [1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe -D_GLFW_HAS_ASLR  -Wl,--dynamicbase -fdiagnostics-color=always -o CMakeFiles/cmTC_ac95e.dir/src.c.obj -c "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-7rsfho/src.c"
+        [2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe -Wl,--dynamicbase  CMakeFiles/cmTC_ac95e.dir/src.c.obj -o cmTC_ac95e.exe -Wl,--out-implib,libcmTC_ac95e.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
         
       exitCode: 0
   -
@@ -547,8 +547,8 @@ events:
     checks:
       - "Performing Test _GLFW_HAS_64ASLR"
     directories:
-      source: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-ympocg"
-      binary: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-ympocg"
+      source: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-p6gfeb"
+      binary: "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-p6gfeb"
     cmakeVariables:
       CMAKE_C_FLAGS: ""
       CMAKE_MODULE_PATH: "C:/Users/saifa/Desktop/Visual Computing/repo/libs/glfw-3.2.1/CMake/modules"
@@ -556,11 +556,11 @@ events:
       variable: "_GLFW_HAS_64ASLR"
       cached: true
       stdout: |
-        Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-ympocg'
+        Change Dir: 'C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-p6gfeb'
         
-        Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_3a81c
-        [1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe -D_GLFW_HAS_64ASLR  -Wl,--high-entropy-va -fdiagnostics-color=always -o CMakeFiles/cmTC_3a81c.dir/src.c.obj -c "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-ympocg/src.c"
-        [2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe -Wl,--high-entropy-va  CMakeFiles/cmTC_3a81c.dir/src.c.obj -o cmTC_3a81c.exe -Wl,--out-implib,libcmTC_3a81c.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
+        Run Build Command(s): "C:/Program Files/JetBrains/CLion 2023.3.3/bin/ninja/win/x64/ninja.exe" -v cmTC_6de66
+        [1/2] C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe -D_GLFW_HAS_64ASLR  -Wl,--high-entropy-va -fdiagnostics-color=always -o CMakeFiles/cmTC_6de66.dir/src.c.obj -c "C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-p6gfeb/src.c"
+        [2/2] cmd.exe /C "cd . && C:\\PROGRA~1\\JETBRA~1\\CLION2~1.3\\bin\\mingw\\bin\\gcc.exe -Wl,--high-entropy-va  CMakeFiles/cmTC_6de66.dir/src.c.obj -o cmTC_6de66.exe -Wl,--out-implib,libcmTC_6de66.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
         
       exitCode: 0
 ...
diff --git a/cmake-build-debug/CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj b/cmake-build-debug/CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj
index 0cadd79ca5b550b43ee3c7593b36dd8cb851f385..ce4d24a176b0cead91659ffb5ec72eebe3a7d293 100644
Binary files a/cmake-build-debug/CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj and b/cmake-build-debug/CMakeFiles/OpenGL_Praktikum.dir/src/Game/Scene.cpp.obj differ
diff --git a/cmake-build-debug/CMakeFiles/OpenGL_Praktikum.dir/src/Game/Window.cpp.obj b/cmake-build-debug/CMakeFiles/OpenGL_Praktikum.dir/src/Game/Window.cpp.obj
index 4c9b3e0cfc6c92b65a8f3ff83421469398922169..c26b2ba6d3b090236a29d0159433ef110f8acf2b 100644
Binary files a/cmake-build-debug/CMakeFiles/OpenGL_Praktikum.dir/src/Game/Window.cpp.obj and b/cmake-build-debug/CMakeFiles/OpenGL_Praktikum.dir/src/Game/Window.cpp.obj differ
diff --git a/cmake-build-debug/CMakeFiles/clion-Debug-log.txt b/cmake-build-debug/CMakeFiles/clion-Debug-log.txt
index 4b9386f8eaf7024e632b538acebb0af3ced8129b..5a15fe94f84f0309ce709bb319dc353de2906e1f 100644
--- a/cmake-build-debug/CMakeFiles/clion-Debug-log.txt
+++ b/cmake-build-debug/CMakeFiles/clion-Debug-log.txt
@@ -95,6 +95,6 @@ CMake Deprecation Warning at libs/stb/CMakeLists.txt:1 (cmake_minimum_required):
   CMake that the project does not need compatibility with older versions.
 
 
--- Configuring done (5.5s)
+-- Configuring done (4.7s)
 -- Generating done (0.1s)
 -- Build files have been written to: C:/Users/saifa/Desktop/Visual Computing/repo/cmake-build-debug
diff --git a/cmake-build-debug/OpenGL_Praktikum.exe b/cmake-build-debug/OpenGL_Praktikum.exe
index 83b868c7440665dc57ebfa1fd5c874cbb93d904f..392e58ec15b50893cdd7387314e0b4878ed5ff46 100644
Binary files a/cmake-build-debug/OpenGL_Praktikum.exe and b/cmake-build-debug/OpenGL_Praktikum.exe differ
diff --git a/cmake-build-debug/Testing/Temporary/LastTest.log b/cmake-build-debug/Testing/Temporary/LastTest.log
index affc445a66815ebec370cbdeccfcd56bd6f8679c..288cbda41ecd414bea10e2d8bfe8435c07c91538 100644
--- a/cmake-build-debug/Testing/Temporary/LastTest.log
+++ b/cmake-build-debug/Testing/Temporary/LastTest.log
@@ -1,3 +1,3 @@
-Start testing: Apr 23 17:01 Mitteleurop�ische Sommerzeit
+Start testing: May 04 11:38 Mitteleurop�ische Sommerzeit
 ----------------------------------------------------------
-End testing: Apr 23 17:01 Mitteleurop�ische Sommerzeit
+End testing: May 04 11:38 Mitteleurop�ische Sommerzeit
diff --git a/cmake-build-debug/assets/shaders/vertex.glsl b/cmake-build-debug/assets/shaders/vertex.glsl
index acff157da2d5f3c15dee4d2d1c60ae5c6b496217..eee34ae80d1ce69d177b5bed83b591168545c2d0 100644
--- a/cmake-build-debug/assets/shaders/vertex.glsl
+++ b/cmake-build-debug/assets/shaders/vertex.glsl
@@ -1,12 +1,13 @@
 #version 330 core
 
-layout (location = 0) in vec2 pos;
+layout (location = 0) in vec3 pos;
 layout (location = 1) in vec3 colorRGB;
 
 out vec3 colorVS;
 
+uniform mat4 model;
+
 void main(){
     colorVS = colorRGB;
-    gl_Position = vec4(pos.x, pos.y, 0.0, 1.0);
-
+    gl_Position = model * vec4(pos.x, pos.y, pos.z, 1.0);
 }
diff --git a/cmake-build-debug/perflog.csv b/cmake-build-debug/perflog.csv
index 802f6edfaa197edd04d89d2ad5f26d1cae067eb1..82b9d0808e6b4349f0ee12dc3322cbff0447f18b 100644
--- a/cmake-build-debug/perflog.csv
+++ b/cmake-build-debug/perflog.csv
@@ -1,35 +1,11 @@
-503.612,1007.22,1.98565,0.992827
-1012.68,1012.68,0.987479,0.987479
-1012.47,1012.47,0.987683,0.987683
-1020.08,1020.08,0.980319,0.980319
-1019.76,1019.76,0.980625,0.980625
-1025.66,1025.66,0.974985,0.974985
-1011.61,1011.61,0.988524,0.988524
-1019.58,1019.58,0.980801,0.980801
-1019.76,1019.76,0.980619,0.980619
-1013.01,1013.01,0.987158,0.987158
-1005.09,1005.09,0.99494,0.99494
-1014.32,1014.32,0.985886,0.985886
-1018.2,1018.2,0.982121,0.982121
-1021.24,1021.24,0.979202,0.979202
-1158.59,1158.59,0.863118,0.863118
-1019.37,1019.37,0.980996,0.980996
-1011.13,1011.13,0.988988,0.988988
-1014.05,1014.05,0.986141,0.986141
-1018.03,1018.03,0.982285,0.982285
-1012.89,1012.89,0.987271,0.987271
-1019.11,1019.11,0.981244,0.981244
-1013.08,1013.08,0.98709,0.98709
-1019.69,1019.69,0.980688,0.980688
-1012.41,1012.41,0.987745,0.987745
-1012.56,1012.56,0.987592,0.987592
-1005.77,1005.77,0.994266,0.994266
-1021.41,1021.41,0.97904,0.97904
-1026.45,1026.45,0.974227,0.974227
-1024.7,1024.7,0.975899,0.975899
-1019.65,1019.65,0.98073,0.98073
-1012.39,1012.39,0.987764,0.987764
-1019.68,1019.68,0.980702,0.980702
-1012.82,1012.82,0.987345,0.987345
-1012.67,1012.67,0.987486,0.987486
-1021.57,1021.57,0.978885,0.978885
+3437.83,6875.66,0.290881,0.145441
+7.03837,17.5981,142.078,56.8243
+7.02545,17.5247,142.34,57.0623
+7.03604,16.4961,142.125,60.6204
+6.93478,9.9698,144.201,100.303
+6.93484,7.5306,144.2,132.792
+6.93977,7.7186,144.097,129.557
+6.9374,7.7073,144.146,129.747
+6.93775,7.5473,144.139,132.498
+6.93178,8.2401,144.263,121.358
+7.17298,13.2487,139.412,75.4791
diff --git a/src/Game/Scene.cpp b/src/Game/Scene.cpp
index c58e4bc53e32347fbe1aaf61480747ead35313ea..dc5119a4d66336725d21ec4b50119c3ae53209ed 100644
--- a/src/Game/Scene.cpp
+++ b/src/Game/Scene.cpp
@@ -4,6 +4,7 @@
 #include <random>
 #include <chrono>
 #include <thread>
+#include <glm/gtx/string_cast.hpp>
 
 
 Scene::Scene(OpenGLWindow * window) :m_window(window){
@@ -11,7 +12,10 @@ Scene::Scene(OpenGLWindow * window) :m_window(window){
 
 }
 
-Scene::~Scene(){}
+Scene::~Scene(){
+    delete obj.vertices ;
+    delete obj.indices;
+}
 
 
 void createAndBindVBO(GLuint& vboID, float* vertices, GLsizeiptr sizeVertices){
@@ -26,9 +30,9 @@ void createAndBindVAO(GLuint& vaoID){
 }
 
 void defineVAOAttribute_XY_RGB(){
-    glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 5 * sizeof(float), (void*)0);
+    glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)0);
     glEnableVertexAttribArray(0);
-    glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 5 * sizeof(float), (void*)(2 * sizeof(float)));
+    glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)(3 * sizeof(float)));
     glEnableVertexAttribArray(1);
 }
 
@@ -41,15 +45,12 @@ void createAndBindIBO(GLuint& iboID, unsigned int* indices, GLsizeiptr sizeIndic
 void createAndBind_VBO_VAO_IBO(ObjectBuffer& objectBuffer){
     // VBO erstellen und binden
     createAndBindVBO(objectBuffer.vboID, objectBuffer.vertices, objectBuffer.sizeVerticesInBytes);
-
     // VAO erstellen und binden
     createAndBindVAO(objectBuffer.vaoID);
-
     // VAO for VBO Attribute definieren
     defineVAOAttribute_XY_RGB();
-
     // IBO erstellen und binden
-    createAndBindIBO(objectBuffer.iboID, objectBuffer.indices, objectBuffer.sizeVerticesInBytes);
+    createAndBindIBO(objectBuffer.iboID, objectBuffer.indices, objectBuffer.sizeOfIndicesInBytes);
 }
 
 
@@ -62,208 +63,46 @@ bool Scene::init()
         m_shader = m_assets.getShaderProgram("shader");
         m_shader->use();
 
-        float rF,gF,bF = 0.5f;
-        float rU, gU, bU = 0.5f;
-
-        
-        float vertices_home[] = {
-                -0.5, -0.5, 0.0, 0.0, 1.0,
-                0.5, -0.5, 0.0, 0.0, 1.0,
-                0.5, 0.5, 0.0, 1.0, 0.0,
-                0.0, 1.0, 1.0, 0.0, 0.0,
-                -0.5, 0.5, 0.0, 1.0, 0.0
-        };
-
-        unsigned int indices_home[] = {
-                0, 1, 2,
-                0, 2, 4,
-                4, 2, 3
-        };
-
-        float vertices_name_S[] = {
-                // S
-                -0.5f,  1.0f, 0.5f, 0.5f, 0.5f,
-                -1.0f,  1.0f, 0.5f, 0.5f, 0.5f,
-                -1.0f,  0.875f, 0.5f, 0.5f, 0.5f,
-                -0.5f,  0.875f, 0.5f, 0.5f, 0.5f,
-
-                -0.875f,1.0f,0.5f,0.5f,0.5f,
-                -1.0f,1.0f,0.5f,0.5f,0.5f,
-                -1.0f,0.5f, 0.5f, 0.5f, 0.5f,
-                -0.875f,0.5f,0.5f,0.5f,0.5f,
-
-                -0.5f,  0.625f, 0.5f, 0.5f, 0.5f,
-                -1.0f,  0.625f, 0.5f, 0.5f, 0.5f,
-                -0.5f,  0.5f, 0.5f, 0.5f, 0.5f,
-                -1.0f,  0.5f, 0.5f, 0.5f, 0.5f,
-
-                -0.5f,0.625f,0.5f,0.5f,0.5f,
-                -0.625f,0.625f,0.5f,0.5f,0.5f,
-                -0.625f,0.125f, 0.5f, 0.5f, 0.5f,
-                -0.5f,0.125f,0.5f,0.5f,0.5f,
-
-                -0.5f,  0.250f, 0.5f, 0.5f, 0.5f,
-                -1.0f,  0.250f, 0.5f, 0.5f, 0.5f,
-                -1.0f,  0.125f, 0.5f, 0.5f, 0.5f,
-                -0.5f,  0.125f, 0.5f, 0.5f, 0.5f,
-                
+        // assign the length of vertices and indices to the obj
+        obj.verticesLength = 48;
+        obj.indicesLength = 36;
+
+        // assign the length of vertices and indices in Bytes to the obj
+        obj.sizeVerticesInBytes = static_cast<GLsizei>(obj.verticesLength * sizeof(float));
+        obj.sizeOfIndicesInBytes = static_cast<GLsizei>(obj.indicesLength * sizeof(unsigned int));
+
+        // define the Vertices
+        obj.vertices = new float[obj.verticesLength] {
+            0.5, -0.5, -0.5, 1, 0, 0,
+            0.5, -0.5, 0.5, 0, 1, 0,
+            -0.5, -0.5, 0.5, 0, 0, 1,
+            -0.5, -0.5, -0.5, 1, 1, 0,
+            0.5, 0.5, -0.5, 1, 0, 1,
+            0.5, 0.5, 0.5, 0, 1, 1,
+            -0.5, 0.5, 0.5, 1, 1, 1,
+            -0.5, 0.5, -0.5, 0.5, 1, 0.5
         };
 
-        unsigned int indices_name_S[] = {
-                // S
-                0,1,2,
-                2,3,0,
-
-                4,5,6,
-                6,7,4,
-
-                8,9,10,
-                9,11,10,
-                //10,11,9, invisible
-
-                12,13,14,
-                14,15,12,
-
-                16,17,18,
-                18,19,16
-
-
-
-        };
-
-        float vertices_name_F[] = {
-                // Oberer Balken (0-3)
-                -0.75f, 1.0f,     rF, gF, bF,  // 0 links oben
-                -0.25f, 1.0f,     rF, gF, bF,  // 1 rechts oben
-                -0.75f, 0.875f,   rF, gF, bF,  // 2 links unten
-                -0.25f, 0.875f,   rF, gF, bF,  // 3 rechts unten
-
-                // Vertikale Leiste links (4-7)
-                -0.75f, 0.875f,   rF, gF, bF,  // 4 oben
-                -0.625f, 0.875f,  rF, gF, bF,  // 5 rechts
-                -0.75f, 0.125f,   rF, gF, bF,  // 6 unten
-                -0.625f, 0.125f,  rF, gF, bF,  // 7 rechts unten
-
-                // Mittlerer Balken (8-11)
-                -0.75f, 0.625f,   rF, gF, bF,  // 8 links oben
-                -0.5f, 0.625f,    rF, gF, bF,  // 9 rechts oben
-                -0.75f, 0.5f,     rF, gF, bF,  //10 links unten
-                -0.5f, 0.5f,      rF, gF, bF   //11 rechts unten
-        };
-
-
-        unsigned int indices_name_F[] = {
-            0, 2, 1,
+        // define the Indices
+        obj.indices = new unsigned int [obj.indicesLength]{
             1, 2, 3,
-
-            4, 6, 5,
-            5, 6, 7,
-
-            8, 10, 9,
-            9, 10, 11
-        };
-
-        float vertices_name_U[] = {
-                // linke splate
-                0.5f, 0.0f,rU, gU, bU, // oben links
-                0.55f, 0.0f,rU, gU, bU, // oben rechts
-                0.5f, -1.0f,rU, gU, bU, // unten links
-                0.55f, -1.0f,rU, gU, bU, // unten rechts
-
-                // rechte splate
-                0.95f, 0.0f,rU, gU, bU, // oben links
-                1.0f, 0.0f,rU, gU, bU, // oben rechts
-                0.95f, -1.0f,rU, gU, bU, // unten links
-                1.0f, -1.0f,rU, gU, bU, // unten rechts
-
-
-                // untere splate
-                0.5f, -0.95f,rU, gU, bU, // oben links
-                1.0f, -0.95f,rU, gU, bU, // oben rechts
-
-        };
-
-        unsigned int indices_name_U[] = {
-                3,1,0,
-                0,2,3,
-
-                7,5,4,
-                4,6,7,
-
-                7,8,2,
-                7,9,8
-
-
+            7, 6, 5,
+            4, 5, 1,
+            5, 6, 2,
+            2, 6, 7,
+            0, 3, 7,
+            0, 1, 3,
+            4, 7, 5,
+            0, 4, 1,
+            1, 5, 2,
+            3, 2, 7,
+            4, 0, 7
         };
 
+        obj_test = ObjectBuffer(obj);
 
-
-        // ############################### CREATE HAUSE OBJECT ###############################
-        // ############################### WARNING ################################################
-        // "The address of local variable ‘vertices’ may escape the function"
-        // the pointer objectBuffer.vertices and objectBuffer.indices will point to invalid memory after the function returns,
-        // because local arrays exist only on the stack temporarily.
-        // you may fix that with static decleration or with allocation with new/mallloc
-        objectBuffer_House.vertices = vertices_home;
-        objectBuffer_House.setSizeVerticesInBytes(sizeof(vertices_home));
-
-        objectBuffer_House.indices = indices_home;
-        objectBuffer_House.setSizeIndices(sizeof(indices_home));
-
-        createAndBind_VBO_VAO_IBO(objectBuffer_House);
-        // ##########################################################################################
-
-
-        // ############################### CREATE NAME [S] OBJECT ###############################
-        // ############################### WARNING ################################################
-        // "The address of local variable ‘vertices’ may escape the function"
-        // the pointer objectBuffer.vertices and objectBuffer.indices will point to invalid memory after the function returns,
-        // because local arrays exist only on the stack temporarily.
-        // you may fix that with static decleration or with allocation with new/mallloc
-        objectBuffer_Name_S.vertices = vertices_name_S;
-        objectBuffer_Name_S.setSizeVerticesInBytes(sizeof(vertices_name_S));
-
-        objectBuffer_Name_S.indices = indices_name_S;
-        objectBuffer_Name_S.setSizeIndices(sizeof(indices_name_S));
-
-        createAndBind_VBO_VAO_IBO(objectBuffer_Name_S);
-        // ##########################################################################################
-
-
-        // ############################### CREATE NAME [F] OBJECT ###############################
-        // ############################### WARNING ################################################
-        // "The address of local variable ‘vertices’ may escape the function"
-        // the pointer objectBuffer.vertices and objectBuffer.indices will point to invalid memory after the function returns,
-        // because local arrays exist only on the stack temporarily.
-        // you may fix that with static decleration or with allocation with new/mallloc
-        objectBuffer_Name_F.vertices = vertices_name_F;
-        objectBuffer_Name_F.setSizeVerticesInBytes(sizeof(vertices_name_F));
-
-        objectBuffer_Name_F.indices = indices_name_F;
-        objectBuffer_Name_F.setSizeIndices(sizeof(indices_name_F));
-
-        createAndBind_VBO_VAO_IBO(objectBuffer_Name_F);
-        // ##########################################################################################
-
-        // ############################### CREATE NAME [U] OBJECT ###############################
-        // ############################### WARNING ################################################
-        // "The address of local variable ‘vertices’ may escape the function"
-        // the pointer objectBuffer.vertices and objectBuffer.indices will point to invalid memory after the function returns,
-        // because local arrays exist only on the stack temporarily.
-        // you may fix that with static decleration or with allocation with new/mallloc
-        objectBuffer_Name_U.vertices = vertices_name_U;
-        objectBuffer_Name_U.setSizeVerticesInBytes(sizeof(vertices_name_U));
-
-        objectBuffer_Name_U.indices = indices_name_U;
-        objectBuffer_Name_U.setSizeIndices(sizeof(indices_name_U));
-
-        createAndBind_VBO_VAO_IBO(objectBuffer_Name_U);
-        // ##########################################################################################
-
-
-        glEnable(GL_CULL_FACE);
-        glFrontFace(GL_CCW);
-        glCullFace(GL_BACK);
+        createAndBind_VBO_VAO_IBO(obj);
+        createAndBind_VBO_VAO_IBO(obj_test);
 
         std::cout << "Scene initialization done\n";
         return true;
@@ -274,177 +113,117 @@ bool Scene::init()
     }
 }
 
-void Scene::render(float dt)
-{
-
-    //####################################################################################################################
-
-
-
-    // activate VAO //
-    glBindVertexArray(objectBuffer_House.vaoID);
-    // render call //
-    glDrawElements(GL_TRIANGLES, objectBuffer_House.elementsNumberOfIndices, GL_UNSIGNED_INT, 0);
-    // good programmers should reset //
-     glBindVertexArray(0);
-
-
-    //###################################################################################################################
-
-    //####################################################################################################################
-    // activate VAO //
-    glBindVertexArray(objectBuffer_Name_U.vaoID);
-    // render call //
-    glDrawElements(GL_TRIANGLES, objectBuffer_Name_U.elementsNumberOfIndices, GL_UNSIGNED_INT, 0);
-    // good programmers should reset //
+void drawObject(ObjectBuffer& obj){
+    glBindVertexArray(obj.vaoID);
+    glDrawElements(GL_TRIANGLES, obj.indicesLength, GL_UNSIGNED_INT, 0);
     glBindVertexArray(0);
-    //###################################################################################################################
-
-    if (toggelBetweenObjects){
-        //####################################################################################################################
-        // activate VAO //
-        glBindVertexArray(objectBuffer_Name_S.vaoID);
-        // render call //
-        glDrawElements(GL_TRIANGLES, objectBuffer_Name_S.elementsNumberOfIndices, GL_UNSIGNED_INT, 0);
-        // good programmers should reset //
-        glBindVertexArray(0);
-        //###################################################################################################################
-    }else{
-        //####################################################################################################################
-        // activate VAO //
-        glBindVertexArray(objectBuffer_Name_F.vaoID);
-        // render call //
-        glDrawElements(GL_TRIANGLES, objectBuffer_Name_F.elementsNumberOfIndices, GL_UNSIGNED_INT, 0);
-        // good programmers should reset //
-        glBindVertexArray(0);
-        //###################################################################################################################
-    }
-    toggelBetweenObjects = !toggelBetweenObjects;
+}
 
-    std::this_thread::sleep_for(std::chrono::milliseconds(1000));
+void Scene::render(float dt)
+{
+    // TODO: delete T_rotation.getTransformMatrix() from all setUniforms (it is there just for animation)
+    //vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
+        static float currentAngle = 0.0f;
+        static float timer = 0.0f;
+        timer += dt;
+        if (timer >= 0.2f) {
+            currentAngle += 1.0f;
+            timer = 0.0f;
+            if(currentAngle>10.0) currentAngle = 0;
+        }
+        Transform T_rotation;
+        glm::vec3 center = glm::vec3(0.0f, 0.0f, 0.0f);
+        glm::quat rotation = glm::angleAxis(glm::radians(currentAngle), glm::vec3(1.0f, 1.0f, 1.0f));
+        T_rotation.rotateAroundPoint(center, rotation);
+    //vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
+
+    glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // Schwarz
+    glClear(GL_COLOR_BUFFER_BIT);
+
+
+    float gap = 0.03;
+
+    float boxHeight = 0.5f;
+    float boxWidth = 0.5f;
+
+    float bodyScaleX = 0.5f; // halbieren
+
+    float headScaleXY = bodyScaleX / 2;
+    float headX = 0.0f;
+    float headY = boxHeight + (headScaleXY/2) + gap;
+
+    float legScaleX = 0.1;
+    float legScaleY = 0.4;
+    float legX = 0.12;
+    float legY = boxHeight + (legScaleY/2) + gap;
+
+    float shoulderArmScaleX = 0.1;
+    float shoulderArmScaleY = 0.3;
+
+    float shoulderX = (boxWidth * bodyScaleX) + (boxWidth * shoulderArmScaleX) + gap ;
+    float shoulderY =  boxHeight - (boxHeight * shoulderArmScaleY);
+
+    // translate to shoulder position and then translate down the size of the shoulder
+    //boxHeight * shoulderArmScaleY is half size of shoulder
+    float ArmY = (shoulderY - ( 2 * (boxHeight * shoulderArmScaleY) ) ) - gap;
+    float ArmX = (boxWidth * bodyScaleX) + (boxWidth * shoulderArmScaleX) + gap ;
+
+    // Body
+    Transform T11,T12;
+    T12.scale(glm::vec3(bodyScaleX, 1.0f, 1.0f));
+    T11.translate(glm::vec3(0.0f, 0.0f, 0.0f));
+    m_shader->setUniform("model", T_rotation.getTransformMatrix() * T12.getTransformMatrix() * T11.getTransformMatrix(), false);
+    drawObject(obj);
+
+    // Head
+    Transform T1,T2;
+    T2.scale(glm::vec3(headScaleXY, headScaleXY, 1.0f));
+    T1.translate(glm::vec3(headX,headY , 0.0f));
+    m_shader->setUniform("model", T_rotation.getTransformMatrix() * T1.getTransformMatrix() * T2.getTransformMatrix(), false);
+    drawObject(obj);
+
+    // Legs
+    Transform T8,T9,T10;
+    T9.scale(glm::vec3(legScaleX, legScaleY, 1.0f));
+
+    //Left Leg
+    T8.translate(glm::vec3(-legX, -legY, 0.0f)); // translate Left Leg
+    m_shader->setUniform("model", T_rotation.getTransformMatrix() * T8.getTransformMatrix() * T9.getTransformMatrix(), false);
+    drawObject(obj);
+
+    //Right Leg
+    T10.translate(glm::vec3(legX, -legY , 0.0f)); // translate Left Leg
+    m_shader->setUniform("model", T_rotation.getTransformMatrix() * T10.getTransformMatrix() * T9.getTransformMatrix(), false);
+    drawObject(obj);
+
+    // shoulders &  Arms
+    Transform T3,T4,T5,T6,T7;
+    T5.scale(glm::vec3(shoulderArmScaleX, shoulderArmScaleY, 1.0f));
+
+    //Left shoulder
+    T7.translate(glm::vec3(-shoulderX, shoulderY , 0.0f)); // translate Left Leg
+    m_shader->setUniform("model", T_rotation.getTransformMatrix() * T7.getTransformMatrix() * T5.getTransformMatrix(), false);
+    drawObject(obj);
+
+    //Right shoulder
+    T4.translate(glm::vec3(shoulderX, shoulderY , 0.0f)); // translate Left Leg
+    m_shader->setUniform("model", T_rotation.getTransformMatrix() * T4.getTransformMatrix() * T5.getTransformMatrix(), false);
+    drawObject(obj);
+
+    //Left Arm
+    T3.translate(glm::vec3(-ArmX, ArmY , 0.0f)); // translate Left Leg
+    m_shader->setUniform("model", T_rotation.getTransformMatrix() * T3.getTransformMatrix() * T5.getTransformMatrix(), false);
+    drawObject(obj);
+
+    //Right Arm
+    T6.translate(glm::vec3(ArmX, ArmY , 0.0f)); // translate Left Leg
+    m_shader->setUniform("model", T_rotation.getTransformMatrix() * T6.getTransformMatrix() * T5.getTransformMatrix(), false);
+    drawObject(obj);
 
 }
 
 void Scene::update(float dt)
 {
-    // the active buffer is home, that's why the home change it's color now
-    std::random_device rd;
-    std::mt19937 gen(rd());
-    std::uniform_real_distribution<float> dist(0.0f, 0.90f);
-
-    float r = dist(gen);
-    float g = dist(gen);
-    float b = dist(gen);
-
-    float rF = dist(gen);
-    float gF = dist(gen);
-    float bF = dist(gen);
-
-    float rS = dist(gen);
-    float gS = dist(gen);
-    float bS = dist(gen);
-
-    float vertices_name_F[] = {
-            // Oberer Balken (0-3)
-            -0.75f, 1.0f,     rF, gF, bF,  // 0 links oben
-            -0.25f, 1.0f,     rF, gF, bF,  // 1 rechts oben
-            -0.75f, 0.875f,   rF, gF, bF,  // 2 links unten
-            -0.25f, 0.875f,   rF, gF, bF,  // 3 rechts unten
-
-            // Vertikale Leiste links (4-7)
-            -0.75f, 0.875f,   rF, gF, bF,  // 4 oben
-            -0.625f, 0.875f,  rF, gF, bF,  // 5 rechts
-            -0.75f, 0.125f,   rF, gF, bF,  // 6 unten
-            -0.625f, 0.125f,  rF, gF, bF,  // 7 rechts unten
-
-            // Mittlerer Balken (8-11)
-            -0.75f, 0.625f,   rF, gF, bF,  // 8 links oben
-            -0.5f, 0.625f,    rF, gF, bF,  // 9 rechts oben
-            -0.75f, 0.5f,     rF, gF, bF,  //10 links unten
-            -0.5f, 0.5f,      rF, gF, bF   //11 rechts unten
-    };
-
-    float vertices_name[] = {
-            // S
-            -0.5f,  1.0f, rS ,gS, bS,
-            -1.0f,  1.0f, rS ,gS, bS,
-            -1.0f,  0.875f, rS ,gS, bS,
-            -0.5f,  0.875f, rS ,gS, bS,
-
-            -0.875f, 1.0f, rS ,gS, bS,
-            -1.0f, 1.0f, rS ,gS, bS,
-            -1.0f, 0.5f, rS ,gS, bS,
-            -0.875f, 0.5f, rS ,gS, bS,
-
-            -0.5f,  0.625f, rS ,gS, bS,
-            -1.0f,  0.625f, rS ,gS, bS,
-            -0.5f,  0.5f, rS ,gS, bS,
-            -1.0f,  0.5f, rS ,gS, bS,
-
-            -0.5f, 0.625f, rS ,gS, bS,
-            -0.625f, 0.625f, rS ,gS, bS,
-            -0.625f, 0.125f, rS ,gS, bS,
-            -0.5f, 0.125f, rS ,gS, bS,
-
-            -0.5f,  0.250f, rS ,gS, bS,
-            -1.0f,  0.250f, rS ,gS, bS,
-            -1.0f,  0.125f, rS ,gS, bS,
-            -0.5f,  0.125f, rS ,gS, bS,
-            //A
-    };
-
-    float vertices_home[] = {
-            -0.5f, -0.5f, r, g, b,
-            0.5f, -0.5f, r, g, b,
-            0.5f,  0.5f, r, g, b,
-            0.0f,  1.0f, r, g, b,
-            -0.5f,  0.5f, r, g, b
-    };
-
-
-    float rU = dist(gen) + 0.10;
-    float gU = dist(gen) + 0.10;;
-    float bU = dist(gen) + 0.10;;
-
-    float vertices_name_U[] = {
-            // linke splate
-            0.5f, 0.0f,rU, gU, bU, // oben links
-            0.55f, 0.0f,rU, gU, bU, // oben rechts
-            0.5f, -1.0f,rU, gU, bU, // unten links
-            0.55f, -1.0f,rU, gU, bU, // unten rechts
-
-            // rechte splate
-            0.95f, 0.0f,rU, gU, bU, // oben links
-            1.0f, 0.0f,rU, gU, bU, // oben rechts
-            0.95f, -1.0f,rU, gU, bU, // unten links
-            1.0f, -1.0f,rU, gU, bU, // unten rechts
-
-
-            // untere splate
-            0.5f, -0.95f,rU, gU, bU, // oben links
-            1.0f, -0.95f,rU, gU, bU, // oben rechts
-
-    };
-    glBindBuffer(GL_ARRAY_BUFFER, objectBuffer_Name_U.vboID);
-    glBufferData(GL_ARRAY_BUFFER, sizeof(vertices_name_U), vertices_name_U, GL_STATIC_DRAW);
-
-
-
-
-    toggelBetweenObjects = !toggelBetweenObjects;
-
-    if(toggelBetweenObjects){
-        glBindBuffer(GL_ARRAY_BUFFER, objectBuffer_Name_S.vboID);
-        glBufferData(GL_ARRAY_BUFFER, sizeof(vertices_name), vertices_name, GL_STATIC_DRAW);
-
-        glBindBuffer(GL_ARRAY_BUFFER, objectBuffer_Name_F.vboID);
-        glBufferData(GL_ARRAY_BUFFER, sizeof(vertices_name_F), vertices_name_F, GL_STATIC_DRAW);
-
-    }else{
-        glBindBuffer(GL_ARRAY_BUFFER, objectBuffer_House.vboID);
-        glBufferData(GL_ARRAY_BUFFER, sizeof(vertices_home), vertices_home, GL_STATIC_DRAW);
-    }
-
 
 }
 
diff --git a/src/Game/Scene.h b/src/Game/Scene.h
index 39183a2e091b0bd51a25c7cefd104d6e9838bfc8..2b5bc028faaea1773480f30686e4333317ea3319 100644
--- a/src/Game/Scene.h
+++ b/src/Game/Scene.h
@@ -12,60 +12,64 @@ struct ObjectBuffer {
     GLuint iboID = 0;
 
     float* vertices = nullptr;
+    GLsizei verticesLength = 0;
     GLsizeiptr sizeVerticesInBytes = 0;
-    void setSizeVerticesInBytes(GLsizeiptr byteSize) {
-        sizeVerticesInBytes = byteSize;
-    }
 
     unsigned int* indices = nullptr;
-    GLsizeiptr sizeIndicesInBytes = 0;
-    GLsizei elementsNumberOfIndices = 0;
-    void setSizeIndices(GLsizeiptr byteSize) {
-        sizeIndicesInBytes = byteSize;
-        elementsNumberOfIndices = static_cast<GLsizei>(sizeIndicesInBytes / sizeof(unsigned int));
+    GLsizei indicesLength = 0;
+    GLsizeiptr sizeOfIndicesInBytes = 0;
+
+        ObjectBuffer() {};
+        ObjectBuffer(const ObjectBuffer& other) {
+        vaoID = other.vaoID;
+        vboID = other.vboID;
+        iboID = other.iboID;
+
+        verticesLength = other.verticesLength;
+        sizeVerticesInBytes = other.sizeVerticesInBytes;
+
+        indicesLength = other.indicesLength;
+        sizeOfIndicesInBytes = other.sizeOfIndicesInBytes;
+
+        // Deep copy of vertex data
+        if (other.vertices && verticesLength > 0) {
+            vertices = new float[verticesLength];
+            std::copy(other.vertices, other.vertices + verticesLength, vertices);
+        }
+
+        // Deep copy of index data
+        if (other.indices && indicesLength > 0) {
+            indices = new unsigned int[indicesLength];
+            std::copy(other.indices, other.indices + indicesLength, indices);
+        }
     }
 };
 
 
-struct ObjectsPositions {
-    static float vertices_home[];
-    static unsigned int indices_home[];
-
-    static float vertices_name[];
-    static unsigned int indices_name[];
-};
-
-
 class Scene
 {
 public:
-	Scene(OpenGLWindow* window);
-	~Scene();
+    Scene(OpenGLWindow* window);
+    ~Scene();
 
-	bool init();
-	void shutdown();
-	void render(float dt);
-	void update(float dt);
-	OpenGLWindow* getWindow();
+    bool init();
+    void shutdown();
+    void render(float dt);
+    void update(float dt);
+    OpenGLWindow* getWindow();
 
-	void onKey(Key key, Action action, Modifier modifier);
-	void onMouseMove(MousePosition mouseposition);
-	void onMouseButton(MouseButton button, Action action, Modifier modifier);
-	void onMouseScroll(double xscroll, double yscroll);
-	void onFrameBufferResize(int width, int height);
+    void onKey(Key key, Action action, Modifier modifier);
+    void onMouseMove(MousePosition mouseposition);
+    void onMouseButton(MouseButton button, Action action, Modifier modifier);
+    void onMouseScroll(double xscroll, double yscroll);
+    void onFrameBufferResize(int width, int height);
 
 private:
-	OpenGLWindow* m_window;
-	AssetManager m_assets;
+    OpenGLWindow* m_window;
+    AssetManager m_assets;
     ShaderProgram* m_shader;
-    ObjectBuffer objectBuffer_House;
-    ObjectBuffer objectBuffer_Name_S;
-    ObjectBuffer objectBuffer_Name_F;
-    ObjectBuffer objectBuffer_Name_U;
-
-    bool toggelBetweenObjects = false;
-
-
+    ObjectBuffer obj;
+    ObjectBuffer obj_test;
 
 };
 
diff --git a/szene_graph_robot.jpg b/szene_graph_robot.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..77fbf04680ccade6f866f1a42714eaaf87621b10
Binary files /dev/null and b/szene_graph_robot.jpg differ