diff --git a/Doxyfile b/Doxyfile
index c68365e..34c0021 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -829,8 +829,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.
-INPUT = src/ \
- include/ \
+INPUT = akashi/ \
README.md
# This tag can be used to specify the character encoding of the source files
@@ -910,7 +909,7 @@ FILE_PATTERNS = *.c \
# be searched for input files as well.
# The default value is: NO.
-RECURSIVE = NO
+RECURSIVE = YES
# The EXCLUDE tag can be used to specify files and/or directories that should be
# excluded from the INPUT source files. This way you can easily exclude a
diff --git a/README.md b/README.md
index eeae8e4..a3460d9 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# akashi
+# akashi
A C++ server for Attorney Online 2
# Build instructions
diff --git a/akashi.pro b/akashi.pro
index 8e995b4..e649183 100644
--- a/akashi.pro
+++ b/akashi.pro
@@ -1,61 +1,4 @@
-QT += network websockets core sql
-QT -= gui
-TEMPLATE = app
+TEMPLATE = subdirs
-CONFIG += c++11 console
-
-# The following define makes your compiler emit warnings if you use
-# any Qt feature that has been marked deprecated (the exact warnings
-# depend on your compiler). Please consult the documentation of the
-# deprecated API in order to know how to port your code away from it.
-DEFINES += QT_DEPRECATED_WARNINGS
-
-# You can also make your code fail to compile if it uses deprecated APIs.
-# In order to do so, uncomment the following line.
-# You can also select to disable deprecated APIs only up to a certain version of Qt.
-#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
-
-QMAKE_CXXFLAGS_WARN_OFF -= -Wunused-parameter
-
-DESTDIR = $$PWD/bin
-OBJECTS_DIR = $$PWD/build
-MOC_DIR = $$PWD/build
-
-RC_ICONS = resource/icon/akashi.ico
-
-# Enable this to print network messages tothe console
-#DEFINES += NET_DEBUG
-
-SOURCES += src/advertiser.cpp \
- src/aoclient.cpp \
- src/aopacket.cpp \
- src/area_data.cpp \
- src/commands/area.cpp \
- src/commands/authentication.cpp \
- src/commands/casing.cpp \
- src/commands/command_helper.cpp \
- src/commands/messaging.cpp \
- src/commands/moderation.cpp \
- src/commands/music.cpp \
- src/commands/roleplay.cpp \
- src/config_manager.cpp \
- src/db_manager.cpp \
- src/logger.cpp \
- src/main.cpp \
- src/packets.cpp \
- src/server.cpp \
- src/testimony_recorder.cpp \
- src/ws_client.cpp \
- src/ws_proxy.cpp
-
-
-HEADERS += include/advertiser.h \
- include/aoclient.h \
- include/aopacket.h \
- include/area_data.h \
- include/config_manager.h \
- include/db_manager.h \
- include/logger.h \
- include/server.h \
- include/ws_client.h \
- include/ws_proxy.h
+SUBDIRS += \
+ akashi
diff --git a/akashi/akashi.pro b/akashi/akashi.pro
new file mode 100644
index 0000000..30b3001
--- /dev/null
+++ b/akashi/akashi.pro
@@ -0,0 +1,61 @@
+QT += network websockets core sql
+QT -= gui
+TEMPLATE = app
+
+CONFIG += c++11 console
+
+# The following define makes your compiler emit warnings if you use
+# any Qt feature that has been marked deprecated (the exact warnings
+# depend on your compiler). Please consult the documentation of the
+# deprecated API in order to know how to port your code away from it.
+DEFINES += QT_DEPRECATED_WARNINGS
+
+# You can also make your code fail to compile if it uses deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
+
+QMAKE_CXXFLAGS_WARN_OFF -= -Wunused-parameter
+
+DESTDIR = $$PWD/../bin
+OBJECTS_DIR = $$PWD/../build
+MOC_DIR = $$PWD/../build
+
+RC_ICONS = resource/icon/akashi.ico
+
+# Enable this to print network messages tothe console
+#DEFINES += NET_DEBUG
+
+SOURCES += src/advertiser.cpp \
+ src/aoclient.cpp \
+ src/aopacket.cpp \
+ src/area_data.cpp \
+ src/commands/area.cpp \
+ src/commands/authentication.cpp \
+ src/commands/casing.cpp \
+ src/commands/command_helper.cpp \
+ src/commands/messaging.cpp \
+ src/commands/moderation.cpp \
+ src/commands/music.cpp \
+ src/commands/roleplay.cpp \
+ src/config_manager.cpp \
+ src/db_manager.cpp \
+ src/logger.cpp \
+ src/main.cpp \
+ src/packets.cpp \
+ src/server.cpp \
+ src/testimony_recorder.cpp \
+ src/ws_client.cpp \
+ src/ws_proxy.cpp
+
+
+HEADERS += include/advertiser.h \
+ include/aoclient.h \
+ include/aopacket.h \
+ include/area_data.h \
+ include/config_manager.h \
+ include/db_manager.h \
+ include/logger.h \
+ include/server.h \
+ include/ws_client.h \
+ include/ws_proxy.h
diff --git a/include/advertiser.h b/akashi/include/advertiser.h
similarity index 100%
rename from include/advertiser.h
rename to akashi/include/advertiser.h
diff --git a/include/aoclient.h b/akashi/include/aoclient.h
similarity index 100%
rename from include/aoclient.h
rename to akashi/include/aoclient.h
diff --git a/include/aopacket.h b/akashi/include/aopacket.h
similarity index 100%
rename from include/aopacket.h
rename to akashi/include/aopacket.h
diff --git a/include/area_data.h b/akashi/include/area_data.h
similarity index 100%
rename from include/area_data.h
rename to akashi/include/area_data.h
diff --git a/include/config_manager.h b/akashi/include/config_manager.h
similarity index 100%
rename from include/config_manager.h
rename to akashi/include/config_manager.h
diff --git a/include/db_manager.h b/akashi/include/db_manager.h
similarity index 100%
rename from include/db_manager.h
rename to akashi/include/db_manager.h
diff --git a/include/logger.h b/akashi/include/logger.h
similarity index 100%
rename from include/logger.h
rename to akashi/include/logger.h
diff --git a/include/server.h b/akashi/include/server.h
similarity index 100%
rename from include/server.h
rename to akashi/include/server.h
diff --git a/include/ws_client.h b/akashi/include/ws_client.h
similarity index 100%
rename from include/ws_client.h
rename to akashi/include/ws_client.h
diff --git a/include/ws_proxy.h b/akashi/include/ws_proxy.h
similarity index 100%
rename from include/ws_proxy.h
rename to akashi/include/ws_proxy.h
diff --git a/resource/icon/16.png b/akashi/resource/icon/16.png
similarity index 100%
rename from resource/icon/16.png
rename to akashi/resource/icon/16.png
diff --git a/resource/icon/256.png b/akashi/resource/icon/256.png
similarity index 100%
rename from resource/icon/256.png
rename to akashi/resource/icon/256.png
diff --git a/resource/icon/32.png b/akashi/resource/icon/32.png
similarity index 100%
rename from resource/icon/32.png
rename to akashi/resource/icon/32.png
diff --git a/resource/icon/akashi.ico b/akashi/resource/icon/akashi.ico
similarity index 100%
rename from resource/icon/akashi.ico
rename to akashi/resource/icon/akashi.ico
diff --git a/src/advertiser.cpp b/akashi/src/advertiser.cpp
similarity index 100%
rename from src/advertiser.cpp
rename to akashi/src/advertiser.cpp
diff --git a/src/aoclient.cpp b/akashi/src/aoclient.cpp
similarity index 100%
rename from src/aoclient.cpp
rename to akashi/src/aoclient.cpp
diff --git a/src/aopacket.cpp b/akashi/src/aopacket.cpp
similarity index 100%
rename from src/aopacket.cpp
rename to akashi/src/aopacket.cpp
diff --git a/src/area_data.cpp b/akashi/src/area_data.cpp
similarity index 100%
rename from src/area_data.cpp
rename to akashi/src/area_data.cpp
diff --git a/src/commands/area.cpp b/akashi/src/commands/area.cpp
similarity index 100%
rename from src/commands/area.cpp
rename to akashi/src/commands/area.cpp
diff --git a/src/commands/authentication.cpp b/akashi/src/commands/authentication.cpp
similarity index 100%
rename from src/commands/authentication.cpp
rename to akashi/src/commands/authentication.cpp
diff --git a/src/commands/casing.cpp b/akashi/src/commands/casing.cpp
similarity index 100%
rename from src/commands/casing.cpp
rename to akashi/src/commands/casing.cpp
diff --git a/src/commands/command_helper.cpp b/akashi/src/commands/command_helper.cpp
similarity index 100%
rename from src/commands/command_helper.cpp
rename to akashi/src/commands/command_helper.cpp
diff --git a/src/commands/messaging.cpp b/akashi/src/commands/messaging.cpp
similarity index 100%
rename from src/commands/messaging.cpp
rename to akashi/src/commands/messaging.cpp
diff --git a/src/commands/moderation.cpp b/akashi/src/commands/moderation.cpp
similarity index 100%
rename from src/commands/moderation.cpp
rename to akashi/src/commands/moderation.cpp
diff --git a/src/commands/music.cpp b/akashi/src/commands/music.cpp
similarity index 100%
rename from src/commands/music.cpp
rename to akashi/src/commands/music.cpp
diff --git a/src/commands/roleplay.cpp b/akashi/src/commands/roleplay.cpp
similarity index 100%
rename from src/commands/roleplay.cpp
rename to akashi/src/commands/roleplay.cpp
diff --git a/src/config_manager.cpp b/akashi/src/config_manager.cpp
similarity index 100%
rename from src/config_manager.cpp
rename to akashi/src/config_manager.cpp
diff --git a/src/db_manager.cpp b/akashi/src/db_manager.cpp
similarity index 100%
rename from src/db_manager.cpp
rename to akashi/src/db_manager.cpp
diff --git a/src/logger.cpp b/akashi/src/logger.cpp
similarity index 100%
rename from src/logger.cpp
rename to akashi/src/logger.cpp
diff --git a/src/main.cpp b/akashi/src/main.cpp
similarity index 100%
rename from src/main.cpp
rename to akashi/src/main.cpp
diff --git a/src/packets.cpp b/akashi/src/packets.cpp
similarity index 100%
rename from src/packets.cpp
rename to akashi/src/packets.cpp
diff --git a/src/server.cpp b/akashi/src/server.cpp
similarity index 100%
rename from src/server.cpp
rename to akashi/src/server.cpp
diff --git a/src/testimony_recorder.cpp b/akashi/src/testimony_recorder.cpp
similarity index 100%
rename from src/testimony_recorder.cpp
rename to akashi/src/testimony_recorder.cpp
diff --git a/src/ws_client.cpp b/akashi/src/ws_client.cpp
similarity index 100%
rename from src/ws_client.cpp
rename to akashi/src/ws_client.cpp
diff --git a/src/ws_proxy.cpp b/akashi/src/ws_proxy.cpp
similarity index 100%
rename from src/ws_proxy.cpp
rename to akashi/src/ws_proxy.cpp