diff --git a/FocusTerra/.vs/FocusTerra/v16/.suo b/FocusTerra/.vs/FocusTerra/v16/.suo
index 93d0f3e47f1e8ba3eaa1904bf85af848f0803862..8f4537ac83e7128f0f79db25628d783f010df4c8 100644
Binary files a/FocusTerra/.vs/FocusTerra/v16/.suo and b/FocusTerra/.vs/FocusTerra/v16/.suo differ
diff --git a/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/3b7f66ca6222ba83/GUI_HANDLER.ipch b/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/3b7f66ca6222ba83/GUI_HANDLER.ipch
index 2f5a8373e0a48e8e1f74ffb502ff7f1c2816ea92..22c638f0478de4e2db442a91bfb0e6085f99ec8a 100644
Binary files a/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/3b7f66ca6222ba83/GUI_HANDLER.ipch and b/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/3b7f66ca6222ba83/GUI_HANDLER.ipch differ
diff --git a/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/5510542e53f89a96/EVENT_LOGGER.ipch b/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/5510542e53f89a96/EVENT_LOGGER.ipch
new file mode 100644
index 0000000000000000000000000000000000000000..1ad622fc4bce8e52dc4d043656a523aa5e4ed4ab
Binary files /dev/null and b/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/5510542e53f89a96/EVENT_LOGGER.ipch differ
diff --git a/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/9c176c9b7be732e9/EVENT_LOGGER.ipch b/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/9c176c9b7be732e9/EVENT_LOGGER.ipch
new file mode 100644
index 0000000000000000000000000000000000000000..d421d026bf4186313997f79b028caf02d0a36d19
Binary files /dev/null and b/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/9c176c9b7be732e9/EVENT_LOGGER.ipch differ
diff --git a/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/a6645457074853fb/PEVENT.ipch b/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/a6645457074853fb/PEVENT.ipch
index aa0e5a7a2a7a8fd62d4f7305bf3be9b869dd6e86..df7c7989a16485e6afbf3ee27e83a6d1d0eb912a 100644
Binary files a/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/a6645457074853fb/PEVENT.ipch and b/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/a6645457074853fb/PEVENT.ipch differ
diff --git a/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/cb00a5d01c33728d/MAIN_TESTING.ipch b/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/cb00a5d01c33728d/MAIN_TESTING.ipch
index ebc0b18f115bad52af99e13450254fd2489bcfd7..b3f142aed0ae1b5c7569e591cf4f650142215c6c 100644
Binary files a/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/cb00a5d01c33728d/MAIN_TESTING.ipch and b/FocusTerra/.vs/FocusTerra/v16/ipch/AutoPCH/cb00a5d01c33728d/MAIN_TESTING.ipch differ
diff --git a/FocusTerra/FocusTerra/FocusTerra.vcxproj b/FocusTerra/FocusTerra/FocusTerra.vcxproj
index 015108d50d534e4a536c3a5bd5b1ab19f18a1286..6c1a5c06ba68ab7e7e93d4024ef88e351b80fb9a 100644
--- a/FocusTerra/FocusTerra/FocusTerra.vcxproj
+++ b/FocusTerra/FocusTerra/FocusTerra.vcxproj
@@ -156,6 +156,7 @@
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
     </ClCompile>
+    <ClCompile Include="..\..\src\event_logger.cpp" />
     <ClCompile Include="..\..\src\glad.c" />
     <ClCompile Include="..\..\src\gui_handler.cpp" />
     <ClCompile Include="..\..\src\imgui\imgui.cpp" />
@@ -176,7 +177,9 @@
     <ClCompile Include="..\..\src\main_refactored.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     </ClCompile>
-    <ClCompile Include="..\..\src\main_testing.cpp" />
+    <ClCompile Include="..\..\src\main_testing.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
+    </ClCompile>
     <ClCompile Include="..\..\src\pevent.cpp" />
     <ClCompile Include="..\..\src\shader.cpp" />
     <ClCompile Include="..\..\src\toolbox.cpp" />
@@ -187,6 +190,7 @@
     <ClInclude Include="..\..\include\blockchain_handler.hpp" />
     <ClInclude Include="..\..\include\drawer.hpp" />
     <ClInclude Include="..\..\include\drawing_handler.hpp" />
+    <ClInclude Include="..\..\include\event_logger.hpp" />
     <ClInclude Include="..\..\include\gui_handler.hpp" />
     <ClInclude Include="..\..\include\input_handler.hpp" />
     <ClInclude Include="..\..\include\pevent.hpp" />
diff --git a/FocusTerra/FocusTerra/FocusTerra.vcxproj.filters b/FocusTerra/FocusTerra/FocusTerra.vcxproj.filters
index aa1a46e40d002bbcb4e4497c8e101b27be077836..52a80307d09f66f6f26d4366f9fa53063f1131a1 100644
--- a/FocusTerra/FocusTerra/FocusTerra.vcxproj.filters
+++ b/FocusTerra/FocusTerra/FocusTerra.vcxproj.filters
@@ -84,6 +84,9 @@
     <ClCompile Include="..\..\src\drawing_handler.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\event_logger.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\include\imgui\imconfig.h">
@@ -158,6 +161,9 @@
     <ClInclude Include="..\..\include\drawer.hpp">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\include\event_logger.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\build\Makefile">
diff --git a/FocusTerra/FocusTerra/x64/Release/FocusTerra.iobj b/FocusTerra/FocusTerra/x64/Release/FocusTerra.iobj
index 51194ff518679983817add26f47549260391699a..d34b96ce3b759bd6e71a65c6608e506a2ac06983 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/FocusTerra.iobj and b/FocusTerra/FocusTerra/x64/Release/FocusTerra.iobj differ
diff --git a/FocusTerra/FocusTerra/x64/Release/FocusTerra.ipdb b/FocusTerra/FocusTerra/x64/Release/FocusTerra.ipdb
index 2ced24fe5d769d27224db8ba52f4d3294464b453..a6a4133c30dcab3b946cf0f4ba6f4c0cad8268a9 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/FocusTerra.ipdb and b/FocusTerra/FocusTerra/x64/Release/FocusTerra.ipdb differ
diff --git a/FocusTerra/FocusTerra/x64/Release/FocusTerra.log b/FocusTerra/FocusTerra/x64/Release/FocusTerra.log
index 80a8a988f4ddbf3c403007ef45e206c4abf7b809..0667720528f2fecb599dc0b0010f375ff566703c 100644
--- a/FocusTerra/FocusTerra/x64/Release/FocusTerra.log
+++ b/FocusTerra/FocusTerra/x64/Release/FocusTerra.log
@@ -1,7 +1,8 @@
-  blockchain_handler.cpp
+  event_logger.cpp
   Generating code
-  1 of 1965 functions (<0.1%) were compiled, the rest were copied from previous compilation.
+C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\src\main_testing.cpp(98): warning C4715: 'SDL_main': not all control paths return a value
+  4 of 2014 functions ( 0.2%) were compiled, the rest were copied from previous compilation.
     0 functions were new in current compilation
-    14 functions had inline decision re-evaluated but remain unchanged
+    15 functions had inline decision re-evaluated but remain unchanged
   Finished generating code
   FocusTerra.vcxproj -> C:\Users\engel\VS_Projects\FocusTerra\framebuffer-testing\FocusTerra\x64\Release\FocusTerra.exe
diff --git a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.command.1.tlog b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.command.1.tlog
index 7ac7b616913e08689489f53143412b26945a5c9a..252f1e33c8e726076c4e7abf8b24c793f53da484 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.command.1.tlog and b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.command.1.tlog differ
diff --git a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.read.1.tlog b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.read.1.tlog
index 0b519d5e9e2c940d32417e47377097f1c0f04f4f..7c9049b5f373acc985896f4a54980adedda5c217 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.read.1.tlog and b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.read.1.tlog differ
diff --git a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.write.1.tlog b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.write.1.tlog
index f441d135063cdc93d105b6baf4826eb1befa8275..39ebcd39e33c54f023d35cdf1e1af7457f3813ef 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.write.1.tlog and b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/CL.write.1.tlog differ
diff --git a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/link.command.1.tlog b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/link.command.1.tlog
index 13fd9074d0df265fc067f3f4afb3f575b5aa3b47..56e44dcb627329919733b74d4ed75673071a1793 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/link.command.1.tlog and b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/link.command.1.tlog differ
diff --git a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/link.read.1.tlog b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/link.read.1.tlog
index a0c4e707df40ae3229149dcda2857715061364b6..85fd0710b70cdd3b7bff0538fa3ad8829efc15d9 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/link.read.1.tlog and b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/link.read.1.tlog differ
diff --git a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/link.write.1.tlog b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/link.write.1.tlog
index 5151764a34e32f2de6f72743d9db254b53241d26..a381ca51cbcd86814968ec84591dde5e83479798 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/link.write.1.tlog and b/FocusTerra/FocusTerra/x64/Release/FocusTerra.tlog/link.write.1.tlog differ
diff --git a/FocusTerra/FocusTerra/x64/Release/blockchain_handler.obj b/FocusTerra/FocusTerra/x64/Release/blockchain_handler.obj
index 21884fd6753813e3adc06a5420a8ea19ffa164db..340667c63a10ce5c1e89618b4c09d712cfec6c86 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/blockchain_handler.obj and b/FocusTerra/FocusTerra/x64/Release/blockchain_handler.obj differ
diff --git a/FocusTerra/FocusTerra/x64/Release/drawer.obj b/FocusTerra/FocusTerra/x64/Release/drawer.obj
index 03688448fa94a99e70e8fadad42f40177f22774a..347045a0b9530ad27a3c70eb06292c5c2a9b873d 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/drawer.obj and b/FocusTerra/FocusTerra/x64/Release/drawer.obj differ
diff --git a/FocusTerra/FocusTerra/x64/Release/drawing_handler.obj b/FocusTerra/FocusTerra/x64/Release/drawing_handler.obj
index 360e3f09be4e7ba728f6d34d5b7e6ef6553552d2..82416e322b139c852309815aa1226b2a7b0054ea 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/drawing_handler.obj and b/FocusTerra/FocusTerra/x64/Release/drawing_handler.obj differ
diff --git a/FocusTerra/FocusTerra/x64/Release/event_logger.obj b/FocusTerra/FocusTerra/x64/Release/event_logger.obj
new file mode 100644
index 0000000000000000000000000000000000000000..7caa94038a865f7212b6600ff9209c7ad12b3cc5
Binary files /dev/null and b/FocusTerra/FocusTerra/x64/Release/event_logger.obj differ
diff --git a/FocusTerra/FocusTerra/x64/Release/gui_handler.obj b/FocusTerra/FocusTerra/x64/Release/gui_handler.obj
index 15bde6ed3aac741d857d9f9491e6c38144caee13..4d83a1ea338c4784e185284ab4573095f86968b1 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/gui_handler.obj and b/FocusTerra/FocusTerra/x64/Release/gui_handler.obj differ
diff --git a/FocusTerra/FocusTerra/x64/Release/input_handler.obj b/FocusTerra/FocusTerra/x64/Release/input_handler.obj
index 9d2b5ceeb9b8d60dc612f733a1035272368291df..f7ea4b6375094a6158fcbe1d58dc3557ed125742 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/input_handler.obj and b/FocusTerra/FocusTerra/x64/Release/input_handler.obj differ
diff --git a/FocusTerra/FocusTerra/x64/Release/main_testing.obj b/FocusTerra/FocusTerra/x64/Release/main_testing.obj
index dc31e425adbd30279723a93eaaac0773d8ba9dfd..3f3096447026a59509a50c945fd5367a7d3061ae 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/main_testing.obj and b/FocusTerra/FocusTerra/x64/Release/main_testing.obj differ
diff --git a/FocusTerra/FocusTerra/x64/Release/toolbox.obj b/FocusTerra/FocusTerra/x64/Release/toolbox.obj
index a37f74f1873c5154c94b7f4d9672841a3a7fcd56..7044af185b7886dd4dcf125ff16d14a7e7cdd53c 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/toolbox.obj and b/FocusTerra/FocusTerra/x64/Release/toolbox.obj differ
diff --git a/FocusTerra/FocusTerra/x64/Release/vc142.pdb b/FocusTerra/FocusTerra/x64/Release/vc142.pdb
index 626d15007894b91199bc65c1b1907bd75a0543e3..af0fda61d036e9170d8179bc6835eb23481ba298 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/vc142.pdb and b/FocusTerra/FocusTerra/x64/Release/vc142.pdb differ
diff --git a/FocusTerra/FocusTerra/x64/Release/wave_handler.obj b/FocusTerra/FocusTerra/x64/Release/wave_handler.obj
index 203a500b237679641473456a7791f45a1e971711..69c4f9e9e04cfd7e69da52a3258e1572737aefbd 100644
Binary files a/FocusTerra/FocusTerra/x64/Release/wave_handler.obj and b/FocusTerra/FocusTerra/x64/Release/wave_handler.obj differ
diff --git a/FocusTerra/x64/Release/FocusTerra.exe b/FocusTerra/x64/Release/FocusTerra.exe
index c0287ed19dd99f0d7937cba6f3125b27bd261155..c4ca888eef735f1bf357a7d8c032b100368ea4c9 100644
Binary files a/FocusTerra/x64/Release/FocusTerra.exe and b/FocusTerra/x64/Release/FocusTerra.exe differ
diff --git a/FocusTerra/x64/Release/FocusTerra.pdb b/FocusTerra/x64/Release/FocusTerra.pdb
index acccb5e7bd2aa0498135afb7d55906c0f2b7ffed..a07a9174b459a48580523992b767833439ed0b42 100644
Binary files a/FocusTerra/x64/Release/FocusTerra.pdb and b/FocusTerra/x64/Release/FocusTerra.pdb differ
diff --git a/include/event_logger.hpp b/include/event_logger.hpp
new file mode 100644
index 0000000000000000000000000000000000000000..2ee915fc137160376c82193a4aebe001a31fec20
--- /dev/null
+++ b/include/event_logger.hpp
@@ -0,0 +1,22 @@
+#pragma once
+#include <array>
+#include <pevent.hpp>
+#include <toolbox.hpp>
+#include <string>
+
+class EventLogger {
+public:
+	EventLogger();
+	EventLogger(const EventLogger& o) = default;
+
+	void push_events(Toolbox&);
+
+	//DOWN, UP, MOVE, OTHER
+	unsigned i_down=0, i_up=0, i_move=0, i_other=0;
+	std::array<Pevent, 16> events_down;
+	std::array<Pevent, 16> events_up;
+	std::array<Pevent, 16> events_move;
+	std::array<Pevent, 16> events_other;
+};
+
+std::string ptos(const Pevent&);
\ No newline at end of file
diff --git a/include/gui_handler.hpp b/include/gui_handler.hpp
index fa3ebcfe5e4ae7bc290adc6b5d97349d8aa84676..ae4fcb11663866c7b9f5e3cff47925779564d758 100644
--- a/include/gui_handler.hpp
+++ b/include/gui_handler.hpp
@@ -3,6 +3,7 @@
 #include <imgui.h>
 #include <imgui_impl_sdl.h>
 #include <imgui_impl_opengl3.h>
+#include <event_logger.hpp>
 class GuiHandler {
 public:
 	GuiHandler(float gui_pos): gui_pos_(gui_pos) {}
@@ -20,10 +21,13 @@ private:
 	float gui_pos_; /*Portion of screen allocated to GUI*/
 	/*Potentially we need to do something else here*/
 	ImGuiIO io_; /*io*/
-	SDL_Event next_event_; /*Next SDL_Event to take place*/
+	SDL_Event next_event_ = {}; /*Next SDL_Event to take place*/
 	SDL_FingerID fingerID_ = -42; /*Finger currently controlling GUI*/
 	SDL_TouchID deviceID_ = -1; /*Touchdevice that is controlling GUI*/
 	/*For SDL_FINGERDOWN and SDL_FINGERUP we need some special treatment, it's a 2-step procedure*/
 	bool lowering_finger_ = false;
 	bool raising_finger_ = false;
+
+	/*Event Logger for debugging*/
+	EventLogger evlog = {};
 };
\ No newline at end of file
diff --git a/src/event_logger.cpp b/src/event_logger.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..0b19cad2c4c13441c869c90dd1813b86b5a0f3a1
--- /dev/null
+++ b/src/event_logger.cpp
@@ -0,0 +1,100 @@
+#include <event_logger.hpp>
+#include <toolbox.hpp>
+#include <string>
+
+EventLogger::EventLogger()
+{
+	for (size_t i = 0; i < 16; ++i) {
+		events_down[i] = {};
+		events_up[i] = {};
+		events_move[i] = {};
+		events_other[i] = {};
+	}
+}
+
+void EventLogger::push_events(Toolbox& tb) {
+	for (auto pev : tb.events) {
+		switch (pev.type) {
+		case PEVENTTYPE::DOWN:
+			events_down[(i_down++) % 16] = pev;
+			break;
+		case PEVENTTYPE::UP:
+			events_up[(i_up++) % 16] = pev;
+			break;
+		case PEVENTTYPE::MOVE:
+			events_move[(i_move++) % 16] = pev;
+			break;
+		case PEVENTTYPE::OTHER:
+			events_other[(i_other++) % 16] = pev;
+			break;
+		default:
+			break;
+		}
+	}
+}
+
+/*Convert Pevent to std::string*/
+std::string ptos(const Pevent& pev) {
+	std::string pev_type = "";
+	std::string sdl_type = "";
+	std::string pev_fscoords = "(" + std::to_string(pev.fscoord_x) + ", " + std::to_string(pev.fscoord_y) + ")";
+	std::string pev_itcoords = "(" + std::to_string(pev.itcoord_x) + ", " + std::to_string(pev.itcoord_y) + ")";
+	std::string sdl_coords = "(n/a, n/a)";
+	switch (pev.type) {
+	case PEVENTTYPE::DOWN:
+		pev_type = "DOWN";
+		switch (pev.event.type) {
+		case SDL_MOUSEBUTTONDOWN:
+			sdl_type = "SDL_MOUSEBUTTONDOWN";
+			sdl_coords = "(" + std::to_string(pev.event.button.x) + ", " + std::to_string(pev.event.button.y) + ")";
+			break;
+		case SDL_FINGERDOWN:
+			sdl_type = "SDL_FINGERDOWN";
+			sdl_coords = "(" + std::to_string(pev.event.tfinger.x) + ", " + std::to_string(pev.event.tfinger.y) + ")";
+			break;
+		default:
+			sdl_type = std::to_string(pev.event.type);
+			break;
+		}
+		break;
+	case PEVENTTYPE::UP:
+		pev_type = "UP";
+		switch (pev.event.type) {
+		case SDL_MOUSEBUTTONUP:
+			sdl_type = "SDL_MOUSEBUTTONUP";
+			sdl_coords = "(" + std::to_string(pev.event.button.x) + ", " + std::to_string(pev.event.button.y) + ")";
+			break;
+		case SDL_FINGERUP:
+			sdl_type = "SDL_FINGERUP";
+			sdl_coords = "(" + std::to_string(pev.event.tfinger.x) + ", " + std::to_string(pev.event.tfinger.y) + ")";
+			break;
+		default:
+			sdl_type = std::to_string(pev.event.type);
+			break;
+		}
+		break;
+	case PEVENTTYPE::MOVE:
+		pev_type = "MOVE";
+		switch (pev.event.type) {
+		case SDL_MOUSEMOTION:
+			sdl_type = "SDL_MOUSEMOTION";
+			sdl_coords = "(" + std::to_string(pev.event.motion.x) + ", " + std::to_string(pev.event.motion.y) + ")";
+			break;
+		case SDL_FINGERMOTION:
+			sdl_type = "SDL_FINGERMOTION";
+			sdl_coords = "(" + std::to_string(pev.event.tfinger.x) + ", " + std::to_string(pev.event.tfinger.y) + ")";
+			break;
+		default:
+			sdl_type = std::to_string(pev.event.type);
+			break;
+		}
+		break;
+	case PEVENTTYPE::OTHER:
+		pev_type = "OTHER";
+		sdl_type = std::to_string(pev.event.type);
+		break;
+	default:
+		break;
+	}
+	return pev_type + " " + sdl_type + " " + pev_fscoords + " " + pev_itcoords + " " + sdl_coords;
+}
\ No newline at end of file
diff --git a/src/gui_handler.cpp b/src/gui_handler.cpp
index 1416b19c75e3b7e02013bd866fdfaabd409e08ee..768599d60970d284665ae171b548905ca92b6bb9 100644
--- a/src/gui_handler.cpp
+++ b/src/gui_handler.cpp
@@ -26,6 +26,9 @@ void GuiHandler::update(Toolbox& tb) {
 		}
 	}
 
+	/*Debugging: Hand off events to event logger evlog*/
+	evlog.push_events(tb);
+
 	/*Check if the GUI received input*/
 	SDL_Event event;
 	bool have_event = false;
@@ -36,7 +39,7 @@ void GuiHandler::update(Toolbox& tb) {
 		have_event = true;
 	}
 	/*Are we in the second step of raising a finger?*/
-	if (raising_finger_) {
+	else if (raising_finger_) {
 		event.type = SDL_USEREVENT;
 		raising_finger_ = false;
 		have_event = true;
@@ -208,7 +211,7 @@ void GuiHandler::update(Toolbox& tb) {
 	ImGui::End();
 
 
-	/*Developer window*/
+	/*Debugging: Developer window*/
 	ImGui::Begin("Developer", nullptr, ImGuiWindowFlags_AlwaysAutoResize);
 	ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", 1000.0 / double(ImGui::GetIO().Framerate), double(ImGui::GetIO().Framerate));
 	ImGui::Text("Mouse Coordinates: (%5.f, %5.f)", ImGui::GetIO().MousePos[0], ImGui::GetIO().MousePos[1]);
@@ -219,6 +222,35 @@ void GuiHandler::update(Toolbox& tb) {
 	ImGui::Text("Blockchain Length: %d", tb.num_blocks);
 	ImGui::Text("Drawers: %d", tb.num_drawers);
 	ImGui::End();
+	
+	/*Debugging: Event Console*/
+	ImGui::SetNextWindowPos(ImVec2(tb.screen_w * (0.5), 0.f), ImGuiCond_Always);
+	ImGui::Begin("Events", nullptr, ImGuiWindowFlags_AlwaysAutoResize);
+	ImGui::NewLine();
+	ImGui::Text("UP EVENTS");
+	for (const Pevent& pev : evlog.events_up) {
+		std::string str = ptos(pev);
+		ImGui::Text(str.c_str());
+	}
+	ImGui::NewLine();
+	ImGui::Text("DOWN EVENTS");
+	for (const Pevent& pev : evlog.events_down) {
+		std::string str = ptos(pev);
+		ImGui::Text(str.c_str());
+	}
+	ImGui::NewLine();
+	ImGui::Text("MOVE EVENTS");
+	for (const Pevent& pev : evlog.events_move) {
+		std::string str = ptos(pev);
+		ImGui::Text(str.c_str());
+	}
+	ImGui::NewLine();
+	ImGui::Text("OTHER EVENTS");
+	for (const Pevent& pev : evlog.events_other) {
+		std::string str = ptos(pev);
+		ImGui::Text(str.c_str());
+	}
+	ImGui::End();
 }
 
 void GuiHandler::render(Toolbox &tb) {