diff --git a/src/os/cpath/cpath.c b/src/core/os/cpath/cpath.c
similarity index 100%
rename from src/os/cpath/cpath.c
rename to src/core/os/cpath/cpath.c
diff --git a/src/os/cpath/cpath.h b/src/core/os/cpath/cpath.h
similarity index 100%
rename from src/os/cpath/cpath.h
rename to src/core/os/cpath/cpath.h
diff --git a/src/os/mem/mem_os.c b/src/core/os/mem/mem_os.c
similarity index 100%
rename from src/os/mem/mem_os.c
rename to src/core/os/mem/mem_os.c
diff --git a/src/os/mem/mem_os.h b/src/core/os/mem/mem_os.h
similarity index 100%
rename from src/os/mem/mem_os.h
rename to src/core/os/mem/mem_os.h
diff --git a/src/os/mem/mem_os_ops.h b/src/core/os/mem/mem_os_ops.h
similarity index 100%
rename from src/os/mem/mem_os_ops.h
rename to src/core/os/mem/mem_os_ops.h
diff --git a/src/os/mem/posix/mem_os_posix.c b/src/core/os/mem/posix/mem_os_posix.c
similarity index 100%
rename from src/os/mem/posix/mem_os_posix.c
rename to src/core/os/mem/posix/mem_os_posix.c
diff --git a/src/os/mem/posix/mem_os_posix.h b/src/core/os/mem/posix/mem_os_posix.h
similarity index 100%
rename from src/os/mem/posix/mem_os_posix.h
rename to src/core/os/mem/posix/mem_os_posix.h
diff --git a/src/os/mem/win/mem_os_win.c b/src/core/os/mem/win/mem_os_win.c
similarity index 100%
rename from src/os/mem/win/mem_os_win.c
rename to src/core/os/mem/win/mem_os_win.c
diff --git a/src/os/mem/win/mem_os_win.h b/src/core/os/mem/win/mem_os_win.h
similarity index 100%
rename from src/os/mem/win/mem_os_win.h
rename to src/core/os/mem/win/mem_os_win.h
diff --git a/src/os/shell/commander/commander.c b/src/core/os/shell/commander/commander.c
similarity index 100%
rename from src/os/shell/commander/commander.c
rename to src/core/os/shell/commander/commander.c
diff --git a/src/os/shell/commander/commander.h b/src/core/os/shell/commander/commander.h
similarity index 100%
rename from src/os/shell/commander/commander.h
rename to src/core/os/shell/commander/commander.h
diff --git a/src/os/shell/commander/commander_output.h b/src/core/os/shell/commander/commander_output.h
similarity index 100%
rename from src/os/shell/commander/commander_output.h
rename to src/core/os/shell/commander/commander_output.h
diff --git a/src/os/shell/commander/posix/commander_posix.c b/src/core/os/shell/commander/posix/commander_posix.c
similarity index 100%
rename from src/os/shell/commander/posix/commander_posix.c
rename to src/core/os/shell/commander/posix/commander_posix.c
diff --git a/src/os/shell/commander/win/commander_win.c b/src/core/os/shell/commander/win/commander_win.c
similarity index 100%
rename from src/os/shell/commander/win/commander_win.c
rename to src/core/os/shell/commander/win/commander_win.c
diff --git a/src/os/shell/termcolour/posix/termcolour_posix.c b/src/core/os/shell/termcolour/posix/termcolour_posix.c
similarity index 100%
rename from src/os/shell/termcolour/posix/termcolour_posix.c
rename to src/core/os/shell/termcolour/posix/termcolour_posix.c
diff --git a/src/os/shell/termcolour/termcolour.c b/src/core/os/shell/termcolour/termcolour.c
similarity index 100%
rename from src/os/shell/termcolour/termcolour.c
rename to src/core/os/shell/termcolour/termcolour.c
diff --git a/src/os/shell/termcolour/termcolour.h b/src/core/os/shell/termcolour/termcolour.h
similarity index 100%
rename from src/os/shell/termcolour/termcolour.h
rename to src/core/os/shell/termcolour/termcolour.h
diff --git a/src/os/shell/termcolour/terminal_colours.h b/src/core/os/shell/termcolour/terminal_colours.h
similarity index 100%
rename from src/os/shell/termcolour/terminal_colours.h
rename to src/core/os/shell/termcolour/terminal_colours.h
diff --git a/src/os/shell/termcolour/win/termcolour_win.c b/src/core/os/shell/termcolour/win/termcolour_win.c
similarity index 100%
rename from src/os/shell/termcolour/win/termcolour_win.c
rename to src/core/os/shell/termcolour/win/termcolour_win.c
diff --git a/src/os/shell/utils/shell_utils.h b/src/core/os/shell/utils/shell_utils.h
similarity index 100%
rename from src/os/shell/utils/shell_utils.h
rename to src/core/os/shell/utils/shell_utils.h
diff --git a/src/core/wapp_core.c b/src/core/wapp_core.c
index 7160e94..06a1bbc 100644
--- a/src/core/wapp_core.c
+++ b/src/core/wapp_core.c
@@ -7,5 +7,15 @@
 #include "mem_arena_allocator.c"
 #include "mem_allocator.c"
 #include "str8.c"
+#include "termcolour_win.c"
+#include "termcolour_posix.c"
+#include "termcolour.c"
+#include "commander_win.c"
+#include "commander.c"
+#include "commander_posix.c"
+#include "mem_os_win.c"
+#include "mem_os.c"
+#include "mem_os_posix.c"
+#include "cpath.c"
 
 #endif // !WAPP_CORE_C
diff --git a/src/core/wapp_core.h b/src/core/wapp_core.h
index e836dc3..17b0b3e 100644
--- a/src/core/wapp_core.h
+++ b/src/core/wapp_core.h
@@ -6,6 +6,16 @@
 #include "mem_utils.h"
 #include "mem_allocator.h"
 #include "str8.h"
+#include "termcolour.h"
+#include "terminal_colours.h"
+#include "shell_utils.h"
+#include "commander_output.h"
+#include "commander.h"
+#include "mem_os_ops.h"
+#include "mem_os_win.h"
+#include "mem_os.h"
+#include "mem_os_posix.h"
+#include "cpath.h"
 #include "wapp_common.h"
 
 #endif // !WAPP_CORE_H
diff --git a/src/os/wapp_os.c b/src/os/wapp_os.c
deleted file mode 100644
index 4923b3e..0000000
--- a/src/os/wapp_os.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef WAPP_OS_C
-#define WAPP_OS_C
-
-#include "wapp_os.h"
-#include "termcolour_win.c"
-#include "termcolour_posix.c"
-#include "termcolour.c"
-#include "commander_win.c"
-#include "commander.c"
-#include "commander_posix.c"
-#include "mem_os_win.c"
-#include "mem_os.c"
-#include "mem_os_posix.c"
-#include "cpath.c"
-#include "wapp_core.c"
-
-#endif // !WAPP_OS_C
diff --git a/src/os/wapp_os.h b/src/os/wapp_os.h
deleted file mode 100644
index c8d88ad..0000000
--- a/src/os/wapp_os.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef WAPP_OS_H
-#define WAPP_OS_H
-
-#include "termcolour.h"
-#include "terminal_colours.h"
-#include "shell_utils.h"
-#include "commander_output.h"
-#include "commander.h"
-#include "mem_os_ops.h"
-#include "mem_os_win.h"
-#include "mem_os.h"
-#include "mem_os_posix.h"
-#include "cpath.h"
-#include "wapp_common.h"
-#include "wapp_core.h"
-
-#endif // !WAPP_OS_H
diff --git a/src/testing/wapp_testing.c b/src/testing/wapp_testing.c
index d56d3ee..24ce2db 100644
--- a/src/testing/wapp_testing.c
+++ b/src/testing/wapp_testing.c
@@ -4,6 +4,5 @@
 #include "wapp_testing.h"
 #include "tester.c"
 #include "wapp_core.c"
-#include "wapp_os.c"
 
 #endif // !WAPP_TESTING_C
diff --git a/src/testing/wapp_testing.h b/src/testing/wapp_testing.h
index b808f34..7e2b3b5 100644
--- a/src/testing/wapp_testing.h
+++ b/src/testing/wapp_testing.h
@@ -4,6 +4,5 @@
 #include "tester.h"
 #include "wapp_common.h"
 #include "wapp_core.h"
-#include "wapp_os.h"
 
 #endif // !WAPP_TESTING_H
diff --git a/src/wapp.c b/src/wapp.c
index 8b06b75..d46a763 100644
--- a/src/wapp.c
+++ b/src/wapp.c
@@ -3,7 +3,6 @@
 
 #include "wapp.h"
 #include "wapp_core.c"
-#include "wapp_os.c"
 #include "wapp_testing.c"
 
 #endif // !WAPP_C
diff --git a/src/wapp.h b/src/wapp.h
index 75d761c..9160b41 100644
--- a/src/wapp.h
+++ b/src/wapp.h
@@ -3,7 +3,6 @@
 
 #include "wapp_common.h"
 #include "wapp_core.h"
-#include "wapp_os.h"
 #include "wapp_testing.h"
 
 #endif // !WAPP_H