diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5b00b928deed82107d262427bb708cdef0f8194c..fc8a40ba7a2a7cf418d3cd2f1cdd84aa8a1a4c85 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -60,16 +60,16 @@ build_linux:
   before_script:
     - QMAKE=/opt/qt/$QT_VERSION/gcc_64/bin/qmake
   script:
-    - cmake -Bbuild -DCMAKE_CXX_COMPILER_LAUNCHER=ccache .
+    - cmake -Bbuild -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=RelWithDebInfo .
     - cmake --build build -j 16
     - cd build
-    - linuxdeploy --plugin qt -e groundstation -d ../linuxdeploy/groundstation.desktop -i ../linuxdeploy/SkywardLogo.png --appdir AppDir
+    - linuxdeploy --plugin qt -e skywardhub -d ../deployment/linuxdeploy/skywardhub.desktop -i ../deployment/linuxdeploy/SkywardLogo.png --appdir AppDir
     - appimagetool AppDir
-    - mv Ground_Station-x86_64.AppImage ../Ground_Station-$CI_COMMIT_SHORT_SHA-x86_64.AppImage
+    - mv SkywardHub-x86_64.AppImage ../SkywardHub-$CI_COMMIT_SHORT_SHA-x86_64.AppImage
   artifacts:
     name: Linux AppImage
     paths:
-      - Ground_Station-$CI_COMMIT_SHORT_SHA-x86_64.AppImage
+      - SkywardHub-$CI_COMMIT_SHORT_SHA-x86_64.AppImage
     expire_in: 7 days
 
 build_windows:
@@ -78,13 +78,13 @@ build_windows:
   before_script:
     - export PATH=/home/gitlab-runner/mxe/usr/bin:$PATH
   script:
-    - x86_64-w64-mingw32.static-cmake -Bbuild -DCMAKE_CXX_COMPILER_LAUNCHER=ccache .
+    - x86_64-w64-mingw32.static-cmake -Bbuild -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=RelWithDebInfo .
     - x86_64-w64-mingw32.static-cmake --build build -j 16
-    - mv build/groundstation.exe Ground_Station-$CI_COMMIT_SHORT_SHA.exe
+    - mv build/skywardhub.exe SkywardHub-$CI_COMMIT_SHORT_SHA.exe
   artifacts:
     name: Windows executable
     paths:
-      - Ground_Station-$CI_COMMIT_SHORT_SHA.exe
+      - SkywardHub-$CI_COMMIT_SHORT_SHA.exe
     expire_in: 7 days
 
 post_on_slack:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6f386e77a9829d61c0858b644572dee64de39eff..9b061d2e7f8a0dc8d6bbea32a706741c8a11a5b3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,18 +20,12 @@
 # THE SOFTWARE.
 
 cmake_minimum_required(VERSION 3.16)
-# For now we keep debug information on
-set(CMAKE_BUILD_TYPE RelWithDebInfo)
 
 project(SkywardHub)
 
-set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD 17)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 
-set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
-
 # MAvLink Skyward library
 add_subdirectory(libs/mavlink-skyward-lib EXCLUDE_FROM_ALL)
 
@@ -42,7 +36,12 @@ add_subdirectory(libs/backward-cpp)
 # Qt5 and its modules
 find_package(Qt5 REQUIRED COMPONENTS Widgets SerialPort PrintSupport 3DCore 3DExtras 3DRender 3DInput)
 
-add_executable(groundstation
+add_executable(skywardhub
+    # Primary files
+    src/main.cpp
+    src/application.qrc
+
+    # Componets
     src/shared/Components/ModulesPicker/ModulesPicker.cpp
     src/shared/Components/SaveConfigurationDialog/SaveConfigurationDialog.cpp
     src/shared/Components/SubscriptionsPanel/SubscriptionsPanel.cpp
@@ -50,6 +49,8 @@ add_executable(groundstation
     src/shared/Components/ErrorDisplayer/Error.cpp
     src/shared/Components/ErrorDisplayer/ErrorDisplayer.cpp
     src/shared/Components/FilterSelector/FilterSelector.cpp
+
+    # Core
     src/shared/Core/Message/Field.cpp
     src/shared/Core/Message/Filter.cpp
     src/shared/Core/Message/Message.cpp
@@ -59,6 +60,8 @@ add_executable(groundstation
     src/shared/Core/Window/Window.cpp
     src/shared/Core/SkywardHubCore.cpp
     src/shared/Core/XmlObject.cpp
+
+    # Modules
     src/shared/Modules/CommandPad/CommandPad.cpp
     src/shared/Modules/CommandPad/MessageFormElement.cpp
     src/shared/Modules/CompactCommandPad/CompactCommandPad.cpp
@@ -91,11 +94,9 @@ add_executable(groundstation
     src/shared/Modules/ModulesList.cpp
     src/shared/Modules/ValvesViewer/ValvesViewer.cpp
     src/shared/Modules/Module.cpp
-    src/entrypoints/groundstation/application.qrc
-    src/entrypoints/groundstation/main.cpp
 )
-target_include_directories(groundstation PRIVATE src/shared)
-target_link_libraries(groundstation PUBLIC
+target_include_directories(skywardhub PRIVATE src/shared)
+target_link_libraries(skywardhub PUBLIC
     Qt5::Widgets
     Qt5::SerialPort
     Qt5::PrintSupport
@@ -106,13 +107,17 @@ target_link_libraries(groundstation PUBLIC
     Mavlink::Mavlink
 )
 
+set_target_properties(skywardhub PROPERTIES AUTOMOC ON)
+set_target_properties(skywardhub PROPERTIES AUTORCC ON)
+set_target_properties(skywardhub PROPERTIES AUTOUIC ON)
+
 # Prevent the creation of a console window on Windows
-set_target_properties(groundstation PROPERTIES WIN32_EXECUTABLE TRUE)
+set_target_properties(skywardhub PROPERTIES WIN32_EXECUTABLE TRUE)
 
 # Create an applkication build on MacOS
-set_target_properties(groundstation PROPERTIES MACOSX_BUNDLE TRUE)
+set_target_properties(skywardhub PROPERTIES MACOSX_BUNDLE TRUE)
 
-add_backward(groundstation)
+add_backward(skywardhub)
 if(UNIX)
     set(BACKWARD_HAS_DW 1)
     set(BACKWARD_HAS_LIBUNWIND 1)
@@ -123,8 +128,8 @@ endif(UNIX)
 if(DEFINED ENV{WIN_DEPLOY_QT})
     message("-- Using windeployqt.exe from $ENV{WIN_DEPLOY_QT}")
     add_custom_command(
-        TARGET groundstation POST_BUILD
-        COMMAND $ENV{WIN_DEPLOY_QT} groundstation.exe
+        TARGET skywardhub POST_BUILD
+        COMMAND $ENV{WIN_DEPLOY_QT} skywardhub.exe
         WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
         COMMENT "Running windeployqt.exe..."
     )
diff --git a/linuxdeploy/SkywardLogo.png b/deployment/linuxdeploy/SkywardLogo.png
similarity index 100%
rename from linuxdeploy/SkywardLogo.png
rename to deployment/linuxdeploy/SkywardLogo.png
diff --git a/linuxdeploy/groundstation.desktop b/deployment/linuxdeploy/skywardhub.desktop
similarity index 67%
rename from linuxdeploy/groundstation.desktop
rename to deployment/linuxdeploy/skywardhub.desktop
index 0d7a6dc3b184695ba0cc514351e1296d98efc392..9b6668d2f6dd59d0acfb2bb72b610d52a9f1fec9 100644
--- a/linuxdeploy/groundstation.desktop
+++ b/deployment/linuxdeploy/skywardhub.desktop
@@ -1,8 +1,9 @@
 [Desktop Entry]
 Type=Application
-Name=Ground Station
-Exec=groundstation
+Name=SkywardHub
+Exec=skywardhub
 Icon=SkywardLogo
 Categories=Utility;
 Terminal=false
 X-AppImage-Version=d16258c
+Keywords=groundstation
diff --git a/macdeploy.sh b/deployment/macdeploy.sh
similarity index 100%
rename from macdeploy.sh
rename to deployment/macdeploy.sh
diff --git a/windeploy.bat b/deployment/windeploy.bat
similarity index 73%
rename from windeploy.bat
rename to deployment/windeploy.bat
index dc498ec4b36fa554242dafc4d3c3a8f5e80d1c41..42949508e927ebec3fef5f6c61b297e509477f3a 100644
--- a/windeploy.bat
+++ b/deployment/windeploy.bat
@@ -1,2 +1,2 @@
 windeployqt --dir Deploy\SkywardHub ..\build-SkywardHub-Desktop_Qt_5_15_2_MinGW_32_bit-Release\Release\SkywardHub.exe
-xcopy ..\build-SkywardHub-Desktop_Qt_5_15_2_MinGW_32_bit-Release\release\SkywardHub.exe Deploy\SkywardHub\SkywardHub.exe /f /y
\ No newline at end of file
+xcopy ..\build-SkywardHub-Desktop_Qt_5_15_2_MinGW_32_bit-Release\release\SkywardHub.exe Deploy\SkywardHub\SkywardHub.exe /f /y
diff --git a/src/entrypoints/groundstation/application.qrc b/src/application.qrc
similarity index 100%
rename from src/entrypoints/groundstation/application.qrc
rename to src/application.qrc
diff --git a/src/entrypoints/groundstation/assets/icons/SkywardHub.icns b/src/assets/icons/SkywardHub.icns
similarity index 100%
rename from src/entrypoints/groundstation/assets/icons/SkywardHub.icns
rename to src/assets/icons/SkywardHub.icns
diff --git a/src/entrypoints/groundstation/assets/icons/SkywardHub.ico b/src/assets/icons/SkywardHub.ico
similarity index 100%
rename from src/entrypoints/groundstation/assets/icons/SkywardHub.ico
rename to src/assets/icons/SkywardHub.ico
diff --git a/src/entrypoints/groundstation/assets/icons/SkywardHub.png b/src/assets/icons/SkywardHub.png
similarity index 100%
rename from src/entrypoints/groundstation/assets/icons/SkywardHub.png
rename to src/assets/icons/SkywardHub.png
diff --git a/src/entrypoints/groundstation/assets/icons/splitter_horizontal.png b/src/assets/icons/splitter_horizontal.png
similarity index 100%
rename from src/entrypoints/groundstation/assets/icons/splitter_horizontal.png
rename to src/assets/icons/splitter_horizontal.png
diff --git a/src/entrypoints/groundstation/assets/icons/splitter_vertical.png b/src/assets/icons/splitter_vertical.png
similarity index 100%
rename from src/entrypoints/groundstation/assets/icons/splitter_vertical.png
rename to src/assets/icons/splitter_vertical.png
diff --git a/src/entrypoints/groundstation/assets/models/rocket.obj b/src/assets/models/rocket.obj
similarity index 100%
rename from src/entrypoints/groundstation/assets/models/rocket.obj
rename to src/assets/models/rocket.obj
diff --git a/src/entrypoints/groundstation/assets/styles/global.qss b/src/assets/styles/global.qss
similarity index 100%
rename from src/entrypoints/groundstation/assets/styles/global.qss
rename to src/assets/styles/global.qss
diff --git a/src/entrypoints/groundstation/assets/styles/white-mode.qss b/src/assets/styles/white-mode.qss
similarity index 100%
rename from src/entrypoints/groundstation/assets/styles/white-mode.qss
rename to src/assets/styles/white-mode.qss
diff --git a/src/entrypoints/groundstation/main.cpp b/src/main.cpp
similarity index 100%
rename from src/entrypoints/groundstation/main.cpp
rename to src/main.cpp
diff --git a/src/shared/Core/QCustomPlot/QCustomPlot.cpp b/src/shared/Core/QCustomPlot/QCustomPlot.cpp
index 44e767d1df2afdfa04559bdb6c9e715c0c88fb1a..0ad2a3047f1701a1b352426b3b949be694ad06fc 100644
--- a/src/shared/Core/QCustomPlot/QCustomPlot.cpp
+++ b/src/shared/Core/QCustomPlot/QCustomPlot.cpp
@@ -697,7 +697,7 @@ QCPPainter *QCPPaintBufferPixmap::startPainting()
 {
     QCPPainter *result = new QCPPainter(&mBuffer);
 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
-    result->setRenderHint(QPainter::HighQualityAntialiasing);
+    result->setRenderHint(QPainter::Antialiasing);
 #endif
     return result;
 }
@@ -791,7 +791,7 @@ QCPPainter *QCPPaintBufferGlPbuffer::startPainting()
     }
 
     QCPPainter *result = new QCPPainter(mGlPBuffer);
-    result->setRenderHint(QPainter::HighQualityAntialiasing);
+    result->setRenderHint(QPainter::Antialiasing);
     return result;
 }
 
@@ -914,7 +914,7 @@ QCPPainter *QCPPaintBufferGlFbo::startPainting()
     mGlFrameBuffer->bind();
     QCPPainter *result = new QCPPainter(paintDevice.data());
 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
-    result->setRenderHint(QPainter::HighQualityAntialiasing);
+    result->setRenderHint(QPainter::Antialiasing);
 #endif
     return result;
 }
@@ -17294,9 +17294,9 @@ void QCustomPlot::paintEvent(QPaintEvent *event)
     {
 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
         painter.setRenderHint(
-            QPainter::HighQualityAntialiasing);  // to make Antialiasing look
-                                                 // good if using the OpenGL
-                                                 // graphicssystem
+            QPainter::Antialiasing);  // to make Antialiasing look
+                                      // good if using the OpenGL
+                                      // graphicssystem
 #endif
         if (mBackgroundBrush.style() != Qt::NoBrush)
             painter.fillRect(mViewport, mBackgroundBrush);