diff --git a/CMakeLists.txt b/CMakeLists.txt
index ddad4421ad7e1ee15348f89e233719670a5c465a..8137228dfdf7bfa1ed0fd8170c0a6f5997733856 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -36,42 +36,43 @@ foreach(OPT_BOARD ${BOARDS})
 
     set(MXGUI_LIBRARY mxgui-${OPT_BOARD})
     add_library(${MXGUI_LIBRARY} STATIC
-        display.cpp
-        font.cpp
-        misc_inst.cpp
-        tga_image.cpp
-        resourcefs.cpp
-        resource_image.cpp
-        level2/input.cpp
-        level2/application.cpp
-        level2/drawing_context_proxy.cpp
-        level2/label.cpp
-        level2/simple_plot.cpp
-        drivers/display_stm3210e-eval.cpp
-        drivers/event_stm3210e-eval.cpp
-        drivers/display_mp3v2.cpp
-        drivers/event_mp3v2.cpp
-        drivers/resfs_mp3v2.cpp
-        drivers/display_strive.cpp
-        drivers/display_st7735.cpp
-        drivers/display_oledboard2.cpp
-        drivers/event_strive.cpp
-        drivers/display_redbull_v2.cpp
-        drivers/event_redbull_v2.cpp
-        drivers/display_bitsboard.cpp
-        drivers/display_sony-newman.cpp
-        drivers/event_sony-newman.cpp
-        drivers/display_stm32f4discovery.cpp
-        drivers/event_stm32f4discovery.cpp
-        drivers/display_generic_1bpp.cpp
-        drivers/display_generic_4bpp.cpp
-        drivers/display_st7735.cpp
+        mxgui/display.cpp
+        mxgui/font.cpp
+        mxgui/misc_inst.cpp
+        mxgui/tga_image.cpp
+        mxgui/resourcefs.cpp
+        mxgui/resource_image.cpp
+        mxgui/level2/input.cpp
+        mxgui/level2/application.cpp
+        mxgui/level2/drawing_context_proxy.cpp
+        mxgui/level2/label.cpp
+        mxgui/level2/simple_plot.cpp
+        mxgui/drivers/display_stm3210e-eval.cpp
+        mxgui/drivers/event_stm3210e-eval.cpp
+        mxgui/drivers/display_mp3v2.cpp
+        mxgui/drivers/event_mp3v2.cpp
+        mxgui/drivers/resfs_mp3v2.cpp
+        mxgui/drivers/display_strive.cpp
+        mxgui/drivers/display_st7735.cpp
+        mxgui/drivers/display_oledboard2.cpp
+        mxgui/drivers/event_strive.cpp
+        mxgui/drivers/display_redbull_v2.cpp
+        mxgui/drivers/event_redbull_v2.cpp
+        mxgui/drivers/display_bitsboard.cpp
+        mxgui/drivers/display_sony-newman.cpp
+        mxgui/drivers/event_sony-newman.cpp
+        mxgui/drivers/display_stm32f4discovery.cpp
+        mxgui/drivers/event_stm32f4discovery.cpp
+        mxgui/drivers/display_generic_1bpp.cpp
+        mxgui/drivers/display_generic_4bpp.cpp
+        mxgui/drivers/display_st7735.cpp
     )
     add_library(mxgui::${MXGUI_LIBRARY} ALIAS ${MXGUI_LIBRARY})
     target_include_directories(${MXGUI_LIBRARY} PUBLIC
         ${KPATH}/config
         ${KPATH}/config/${BOARD_INC}
         ${CMAKE_CURRENT_SOURCE_DIR}
+        ${CMAKE_CURRENT_SOURCE_DIR}/mxgui
         ${KPATH}
         ${KPATH}/arch/common
         ${KPATH}/${ARCH_INC}
diff --git a/color.h b/mxgui/color.h
similarity index 100%
rename from color.h
rename to mxgui/color.h
diff --git a/config/mxgui_settings.h b/mxgui/config/mxgui_settings.h
similarity index 100%
rename from config/mxgui_settings.h
rename to mxgui/config/mxgui_settings.h
diff --git a/display.cpp b/mxgui/display.cpp
similarity index 100%
rename from display.cpp
rename to mxgui/display.cpp
diff --git a/display.h b/mxgui/display.h
similarity index 100%
rename from display.h
rename to mxgui/display.h
diff --git a/display_state_saver.h b/mxgui/display_state_saver.h
similarity index 100%
rename from display_state_saver.h
rename to mxgui/display_state_saver.h
diff --git a/drivers/display_bitsboard.cpp b/mxgui/drivers/display_bitsboard.cpp
similarity index 100%
rename from drivers/display_bitsboard.cpp
rename to mxgui/drivers/display_bitsboard.cpp
diff --git a/drivers/display_bitsboard.h b/mxgui/drivers/display_bitsboard.h
similarity index 100%
rename from drivers/display_bitsboard.h
rename to mxgui/drivers/display_bitsboard.h
diff --git a/drivers/display_bitsboard_driver.png b/mxgui/drivers/display_bitsboard_driver.png
similarity index 100%
rename from drivers/display_bitsboard_driver.png
rename to mxgui/drivers/display_bitsboard_driver.png
diff --git a/drivers/display_generic_1bpp.cpp b/mxgui/drivers/display_generic_1bpp.cpp
similarity index 100%
rename from drivers/display_generic_1bpp.cpp
rename to mxgui/drivers/display_generic_1bpp.cpp
diff --git a/drivers/display_generic_1bpp.h b/mxgui/drivers/display_generic_1bpp.h
similarity index 100%
rename from drivers/display_generic_1bpp.h
rename to mxgui/drivers/display_generic_1bpp.h
diff --git a/drivers/display_generic_4bpp.cpp b/mxgui/drivers/display_generic_4bpp.cpp
similarity index 100%
rename from drivers/display_generic_4bpp.cpp
rename to mxgui/drivers/display_generic_4bpp.cpp
diff --git a/drivers/display_generic_4bpp.h b/mxgui/drivers/display_generic_4bpp.h
similarity index 100%
rename from drivers/display_generic_4bpp.h
rename to mxgui/drivers/display_generic_4bpp.h
diff --git a/drivers/display_ly091wg14.h b/mxgui/drivers/display_ly091wg14.h
similarity index 100%
rename from drivers/display_ly091wg14.h
rename to mxgui/drivers/display_ly091wg14.h
diff --git a/drivers/display_mp3v2.cpp b/mxgui/drivers/display_mp3v2.cpp
similarity index 100%
rename from drivers/display_mp3v2.cpp
rename to mxgui/drivers/display_mp3v2.cpp
diff --git a/drivers/display_mp3v2.h b/mxgui/drivers/display_mp3v2.h
similarity index 100%
rename from drivers/display_mp3v2.h
rename to mxgui/drivers/display_mp3v2.h
diff --git a/drivers/display_oledboard2.cpp b/mxgui/drivers/display_oledboard2.cpp
similarity index 100%
rename from drivers/display_oledboard2.cpp
rename to mxgui/drivers/display_oledboard2.cpp
diff --git a/drivers/display_oledboard2.h b/mxgui/drivers/display_oledboard2.h
similarity index 100%
rename from drivers/display_oledboard2.h
rename to mxgui/drivers/display_oledboard2.h
diff --git a/drivers/display_qt.cpp b/mxgui/drivers/display_qt.cpp
similarity index 100%
rename from drivers/display_qt.cpp
rename to mxgui/drivers/display_qt.cpp
diff --git a/drivers/display_qt.h b/mxgui/drivers/display_qt.h
similarity index 100%
rename from drivers/display_qt.h
rename to mxgui/drivers/display_qt.h
diff --git a/drivers/display_redbull_v2.cpp b/mxgui/drivers/display_redbull_v2.cpp
similarity index 100%
rename from drivers/display_redbull_v2.cpp
rename to mxgui/drivers/display_redbull_v2.cpp
diff --git a/drivers/display_redbull_v2.h b/mxgui/drivers/display_redbull_v2.h
similarity index 100%
rename from drivers/display_redbull_v2.h
rename to mxgui/drivers/display_redbull_v2.h
diff --git a/drivers/display_sony-newman.cpp b/mxgui/drivers/display_sony-newman.cpp
similarity index 100%
rename from drivers/display_sony-newman.cpp
rename to mxgui/drivers/display_sony-newman.cpp
diff --git a/drivers/display_sony-newman.h b/mxgui/drivers/display_sony-newman.h
similarity index 100%
rename from drivers/display_sony-newman.h
rename to mxgui/drivers/display_sony-newman.h
diff --git a/drivers/display_st7735.cpp b/mxgui/drivers/display_st7735.cpp
similarity index 100%
rename from drivers/display_st7735.cpp
rename to mxgui/drivers/display_st7735.cpp
diff --git a/drivers/display_st7735.h b/mxgui/drivers/display_st7735.h
similarity index 100%
rename from drivers/display_st7735.h
rename to mxgui/drivers/display_st7735.h
diff --git a/drivers/display_stm3210e-eval.cpp b/mxgui/drivers/display_stm3210e-eval.cpp
similarity index 100%
rename from drivers/display_stm3210e-eval.cpp
rename to mxgui/drivers/display_stm3210e-eval.cpp
diff --git a/drivers/display_stm3210e-eval.h b/mxgui/drivers/display_stm3210e-eval.h
similarity index 100%
rename from drivers/display_stm3210e-eval.h
rename to mxgui/drivers/display_stm3210e-eval.h
diff --git a/drivers/display_stm32f4discovery.cpp b/mxgui/drivers/display_stm32f4discovery.cpp
similarity index 100%
rename from drivers/display_stm32f4discovery.cpp
rename to mxgui/drivers/display_stm32f4discovery.cpp
diff --git a/drivers/display_stm32f4discovery.h b/mxgui/drivers/display_stm32f4discovery.h
similarity index 100%
rename from drivers/display_stm32f4discovery.h
rename to mxgui/drivers/display_stm32f4discovery.h
diff --git a/drivers/display_strive.cpp b/mxgui/drivers/display_strive.cpp
similarity index 100%
rename from drivers/display_strive.cpp
rename to mxgui/drivers/display_strive.cpp
diff --git a/drivers/display_strive.h b/mxgui/drivers/display_strive.h
similarity index 100%
rename from drivers/display_strive.h
rename to mxgui/drivers/display_strive.h
diff --git a/drivers/display_win.cpp b/mxgui/drivers/display_win.cpp
similarity index 100%
rename from drivers/display_win.cpp
rename to mxgui/drivers/display_win.cpp
diff --git a/drivers/display_win.h b/mxgui/drivers/display_win.h
similarity index 100%
rename from drivers/display_win.h
rename to mxgui/drivers/display_win.h
diff --git a/drivers/event_mp3v2.cpp b/mxgui/drivers/event_mp3v2.cpp
similarity index 100%
rename from drivers/event_mp3v2.cpp
rename to mxgui/drivers/event_mp3v2.cpp
diff --git a/drivers/event_mp3v2.h b/mxgui/drivers/event_mp3v2.h
similarity index 100%
rename from drivers/event_mp3v2.h
rename to mxgui/drivers/event_mp3v2.h
diff --git a/drivers/event_qt.cpp b/mxgui/drivers/event_qt.cpp
similarity index 100%
rename from drivers/event_qt.cpp
rename to mxgui/drivers/event_qt.cpp
diff --git a/drivers/event_qt.h b/mxgui/drivers/event_qt.h
similarity index 100%
rename from drivers/event_qt.h
rename to mxgui/drivers/event_qt.h
diff --git a/drivers/event_redbull_v2.cpp b/mxgui/drivers/event_redbull_v2.cpp
similarity index 100%
rename from drivers/event_redbull_v2.cpp
rename to mxgui/drivers/event_redbull_v2.cpp
diff --git a/drivers/event_redbull_v2.h b/mxgui/drivers/event_redbull_v2.h
similarity index 100%
rename from drivers/event_redbull_v2.h
rename to mxgui/drivers/event_redbull_v2.h
diff --git a/drivers/event_sony-newman.cpp b/mxgui/drivers/event_sony-newman.cpp
similarity index 100%
rename from drivers/event_sony-newman.cpp
rename to mxgui/drivers/event_sony-newman.cpp
diff --git a/drivers/event_sony-newman.h b/mxgui/drivers/event_sony-newman.h
similarity index 100%
rename from drivers/event_sony-newman.h
rename to mxgui/drivers/event_sony-newman.h
diff --git a/drivers/event_stm3210e-eval.cpp b/mxgui/drivers/event_stm3210e-eval.cpp
similarity index 100%
rename from drivers/event_stm3210e-eval.cpp
rename to mxgui/drivers/event_stm3210e-eval.cpp
diff --git a/drivers/event_stm3210e-eval.h b/mxgui/drivers/event_stm3210e-eval.h
similarity index 100%
rename from drivers/event_stm3210e-eval.h
rename to mxgui/drivers/event_stm3210e-eval.h
diff --git a/drivers/event_stm32f4discovery.cpp b/mxgui/drivers/event_stm32f4discovery.cpp
similarity index 100%
rename from drivers/event_stm32f4discovery.cpp
rename to mxgui/drivers/event_stm32f4discovery.cpp
diff --git a/drivers/event_stm32f4discovery.h b/mxgui/drivers/event_stm32f4discovery.h
similarity index 100%
rename from drivers/event_stm32f4discovery.h
rename to mxgui/drivers/event_stm32f4discovery.h
diff --git a/drivers/event_strive.cpp b/mxgui/drivers/event_strive.cpp
similarity index 100%
rename from drivers/event_strive.cpp
rename to mxgui/drivers/event_strive.cpp
diff --git a/drivers/event_strive.h b/mxgui/drivers/event_strive.h
similarity index 100%
rename from drivers/event_strive.h
rename to mxgui/drivers/event_strive.h
diff --git a/drivers/event_types_mp3v2.h b/mxgui/drivers/event_types_mp3v2.h
similarity index 100%
rename from drivers/event_types_mp3v2.h
rename to mxgui/drivers/event_types_mp3v2.h
diff --git a/drivers/event_types_qt.h b/mxgui/drivers/event_types_qt.h
similarity index 100%
rename from drivers/event_types_qt.h
rename to mxgui/drivers/event_types_qt.h
diff --git a/drivers/event_types_redbull_v2.h b/mxgui/drivers/event_types_redbull_v2.h
similarity index 100%
rename from drivers/event_types_redbull_v2.h
rename to mxgui/drivers/event_types_redbull_v2.h
diff --git a/drivers/event_types_sony-newman.h b/mxgui/drivers/event_types_sony-newman.h
similarity index 100%
rename from drivers/event_types_sony-newman.h
rename to mxgui/drivers/event_types_sony-newman.h
diff --git a/drivers/event_types_stm3210e-eval.h b/mxgui/drivers/event_types_stm3210e-eval.h
similarity index 100%
rename from drivers/event_types_stm3210e-eval.h
rename to mxgui/drivers/event_types_stm3210e-eval.h
diff --git a/drivers/event_types_stm32f4discovery.h b/mxgui/drivers/event_types_stm32f4discovery.h
similarity index 100%
rename from drivers/event_types_stm32f4discovery.h
rename to mxgui/drivers/event_types_stm32f4discovery.h
diff --git a/drivers/event_types_strive.h b/mxgui/drivers/event_types_strive.h
similarity index 100%
rename from drivers/event_types_strive.h
rename to mxgui/drivers/event_types_strive.h
diff --git a/drivers/event_types_win.h b/mxgui/drivers/event_types_win.h
similarity index 100%
rename from drivers/event_types_win.h
rename to mxgui/drivers/event_types_win.h
diff --git a/drivers/event_win.cpp b/mxgui/drivers/event_win.cpp
similarity index 100%
rename from drivers/event_win.cpp
rename to mxgui/drivers/event_win.cpp
diff --git a/drivers/event_win.h b/mxgui/drivers/event_win.h
similarity index 100%
rename from drivers/event_win.h
rename to mxgui/drivers/event_win.h
diff --git a/drivers/resfs_mp3v2.cpp b/mxgui/drivers/resfs_mp3v2.cpp
similarity index 100%
rename from drivers/resfs_mp3v2.cpp
rename to mxgui/drivers/resfs_mp3v2.cpp
diff --git a/drivers/resfs_mp3v2.h b/mxgui/drivers/resfs_mp3v2.h
similarity index 100%
rename from drivers/resfs_mp3v2.h
rename to mxgui/drivers/resfs_mp3v2.h
diff --git a/entry.h b/mxgui/entry.h
similarity index 100%
rename from entry.h
rename to mxgui/entry.h
diff --git a/font.cpp b/mxgui/font.cpp
similarity index 100%
rename from font.cpp
rename to mxgui/font.cpp
diff --git a/font.h b/mxgui/font.h
similarity index 100%
rename from font.h
rename to mxgui/font.h
diff --git a/fonts/droid11.h b/mxgui/fonts/droid11.h
similarity index 100%
rename from fonts/droid11.h
rename to mxgui/fonts/droid11.h
diff --git a/fonts/droid11.png b/mxgui/fonts/droid11.png
similarity index 100%
rename from fonts/droid11.png
rename to mxgui/fonts/droid11.png
diff --git a/fonts/droid11b.h b/mxgui/fonts/droid11b.h
similarity index 100%
rename from fonts/droid11b.h
rename to mxgui/fonts/droid11b.h
diff --git a/fonts/droid11b.png b/mxgui/fonts/droid11b.png
similarity index 100%
rename from fonts/droid11b.png
rename to mxgui/fonts/droid11b.png
diff --git a/fonts/droid21.h b/mxgui/fonts/droid21.h
similarity index 100%
rename from fonts/droid21.h
rename to mxgui/fonts/droid21.h
diff --git a/fonts/droid21.png b/mxgui/fonts/droid21.png
similarity index 100%
rename from fonts/droid21.png
rename to mxgui/fonts/droid21.png
diff --git a/fonts/droid21b.h b/mxgui/fonts/droid21b.h
similarity index 100%
rename from fonts/droid21b.h
rename to mxgui/fonts/droid21b.h
diff --git a/fonts/droid21b.png b/mxgui/fonts/droid21b.png
similarity index 100%
rename from fonts/droid21b.png
rename to mxgui/fonts/droid21b.png
diff --git a/fonts/miscfixed.h b/mxgui/fonts/miscfixed.h
similarity index 100%
rename from fonts/miscfixed.h
rename to mxgui/fonts/miscfixed.h
diff --git a/fonts/miscfixed.png b/mxgui/fonts/miscfixed.png
similarity index 100%
rename from fonts/miscfixed.png
rename to mxgui/fonts/miscfixed.png
diff --git a/fonts/miscfixed_bold.h b/mxgui/fonts/miscfixed_bold.h
similarity index 100%
rename from fonts/miscfixed_bold.h
rename to mxgui/fonts/miscfixed_bold.h
diff --git a/fonts/miscfixed_bold.png b/mxgui/fonts/miscfixed_bold.png
similarity index 100%
rename from fonts/miscfixed_bold.png
rename to mxgui/fonts/miscfixed_bold.png
diff --git a/fonts/tahoma.h b/mxgui/fonts/tahoma.h
similarity index 100%
rename from fonts/tahoma.h
rename to mxgui/fonts/tahoma.h
diff --git a/fonts/tahoma.png b/mxgui/fonts/tahoma.png
similarity index 100%
rename from fonts/tahoma.png
rename to mxgui/fonts/tahoma.png
diff --git a/image.h b/mxgui/image.h
similarity index 100%
rename from image.h
rename to mxgui/image.h
diff --git a/iterator_direction.h b/mxgui/iterator_direction.h
similarity index 100%
rename from iterator_direction.h
rename to mxgui/iterator_direction.h
diff --git a/level2/application.cpp b/mxgui/level2/application.cpp
similarity index 100%
rename from level2/application.cpp
rename to mxgui/level2/application.cpp
diff --git a/level2/application.h b/mxgui/level2/application.h
similarity index 100%
rename from level2/application.h
rename to mxgui/level2/application.h
diff --git a/level2/draw_area.h b/mxgui/level2/draw_area.h
similarity index 100%
rename from level2/draw_area.h
rename to mxgui/level2/draw_area.h
diff --git a/level2/drawing_context_proxy.cpp b/mxgui/level2/drawing_context_proxy.cpp
similarity index 100%
rename from level2/drawing_context_proxy.cpp
rename to mxgui/level2/drawing_context_proxy.cpp
diff --git a/level2/drawing_context_proxy.h b/mxgui/level2/drawing_context_proxy.h
similarity index 100%
rename from level2/drawing_context_proxy.h
rename to mxgui/level2/drawing_context_proxy.h
diff --git a/level2/input.cpp b/mxgui/level2/input.cpp
similarity index 100%
rename from level2/input.cpp
rename to mxgui/level2/input.cpp
diff --git a/level2/input.h b/mxgui/level2/input.h
similarity index 100%
rename from level2/input.h
rename to mxgui/level2/input.h
diff --git a/level2/label.cpp b/mxgui/level2/label.cpp
similarity index 100%
rename from level2/label.cpp
rename to mxgui/level2/label.cpp
diff --git a/level2/label.h b/mxgui/level2/label.h
similarity index 100%
rename from level2/label.h
rename to mxgui/level2/label.h
diff --git a/level2/simple_plot.cpp b/mxgui/level2/simple_plot.cpp
similarity index 100%
rename from level2/simple_plot.cpp
rename to mxgui/level2/simple_plot.cpp
diff --git a/level2/simple_plot.h b/mxgui/level2/simple_plot.h
similarity index 100%
rename from level2/simple_plot.h
rename to mxgui/level2/simple_plot.h
diff --git a/line.h b/mxgui/line.h
similarity index 100%
rename from line.h
rename to mxgui/line.h
diff --git a/misc_inst.cpp b/mxgui/misc_inst.cpp
similarity index 100%
rename from misc_inst.cpp
rename to mxgui/misc_inst.cpp
diff --git a/misc_inst.h b/mxgui/misc_inst.h
similarity index 100%
rename from misc_inst.h
rename to mxgui/misc_inst.h
diff --git a/point.h b/mxgui/point.h
similarity index 100%
rename from point.h
rename to mxgui/point.h
diff --git a/pthread_lock.h b/mxgui/pthread_lock.h
similarity index 100%
rename from pthread_lock.h
rename to mxgui/pthread_lock.h
diff --git a/resource_image.cpp b/mxgui/resource_image.cpp
similarity index 100%
rename from resource_image.cpp
rename to mxgui/resource_image.cpp
diff --git a/resource_image.h b/mxgui/resource_image.h
similarity index 100%
rename from resource_image.h
rename to mxgui/resource_image.h
diff --git a/resourcefs.cpp b/mxgui/resourcefs.cpp
similarity index 100%
rename from resourcefs.cpp
rename to mxgui/resourcefs.cpp
diff --git a/resourcefs.h b/mxgui/resourcefs.h
similarity index 100%
rename from resourcefs.h
rename to mxgui/resourcefs.h
diff --git a/resourcefs_types.h b/mxgui/resourcefs_types.h
similarity index 100%
rename from resourcefs_types.h
rename to mxgui/resourcefs_types.h
diff --git a/tga_image.cpp b/mxgui/tga_image.cpp
similarity index 100%
rename from tga_image.cpp
rename to mxgui/tga_image.cpp
diff --git a/tga_image.h b/mxgui/tga_image.h
similarity index 100%
rename from tga_image.h
rename to mxgui/tga_image.h