diff --git a/Modules/Utility/contextmenuseparator.cpp b/Components/ContextMenuSeparator/contextmenuseparator.cpp
similarity index 100%
rename from Modules/Utility/contextmenuseparator.cpp
rename to Components/ContextMenuSeparator/contextmenuseparator.cpp
diff --git a/Modules/Utility/contextmenuseparator.h b/Components/ContextMenuSeparator/contextmenuseparator.h
similarity index 100%
rename from Modules/Utility/contextmenuseparator.h
rename to Components/ContextMenuSeparator/contextmenuseparator.h
diff --git a/Modules/Utility/modulespicker.cpp b/Components/ModulesPicker/modulespicker.cpp
similarity index 100%
rename from Modules/Utility/modulespicker.cpp
rename to Components/ModulesPicker/modulespicker.cpp
diff --git a/Modules/Utility/modulespicker.h b/Components/ModulesPicker/modulespicker.h
similarity index 100%
rename from Modules/Utility/modulespicker.h
rename to Components/ModulesPicker/modulespicker.h
diff --git a/Modules/Utility/modulespicker.ui b/Components/ModulesPicker/modulespicker.ui
similarity index 100%
rename from Modules/Utility/modulespicker.ui
rename to Components/ModulesPicker/modulespicker.ui
diff --git a/Modules/Utility/saveconfigurationdialog.cpp b/Components/SaveConfigurationDialog/saveconfigurationdialog.cpp
similarity index 100%
rename from Modules/Utility/saveconfigurationdialog.cpp
rename to Components/SaveConfigurationDialog/saveconfigurationdialog.cpp
diff --git a/Modules/Utility/saveconfigurationdialog.h b/Components/SaveConfigurationDialog/saveconfigurationdialog.h
similarity index 100%
rename from Modules/Utility/saveconfigurationdialog.h
rename to Components/SaveConfigurationDialog/saveconfigurationdialog.h
diff --git a/Modules/Utility/saveconfigurationdialog.ui b/Components/SaveConfigurationDialog/saveconfigurationdialog.ui
similarity index 100%
rename from Modules/Utility/saveconfigurationdialog.ui
rename to Components/SaveConfigurationDialog/saveconfigurationdialog.ui
diff --git a/Modules/Utility/subscriptionspanel.cpp b/Components/SubscriptionsPanel/subscriptionspanel.cpp
similarity index 100%
rename from Modules/Utility/subscriptionspanel.cpp
rename to Components/SubscriptionsPanel/subscriptionspanel.cpp
diff --git a/Modules/Utility/subscriptionspanel.h b/Components/SubscriptionsPanel/subscriptionspanel.h
similarity index 100%
rename from Modules/Utility/subscriptionspanel.h
rename to Components/SubscriptionsPanel/subscriptionspanel.h
diff --git a/Modules/Utility/subscriptionspanel.ui b/Components/SubscriptionsPanel/subscriptionspanel.ui
similarity index 100%
rename from Modules/Utility/subscriptionspanel.ui
rename to Components/SubscriptionsPanel/subscriptionspanel.ui
diff --git a/Modules/Utility/togglebutton.cpp b/Components/ToggleButton/togglebutton.cpp
similarity index 100%
rename from Modules/Utility/togglebutton.cpp
rename to Components/ToggleButton/togglebutton.cpp
diff --git a/Modules/Utility/togglebutton.h b/Components/ToggleButton/togglebutton.h
similarity index 100%
rename from Modules/Utility/togglebutton.h
rename to Components/ToggleButton/togglebutton.h
diff --git a/Core/modulesmanager.cpp b/Core/modulesmanager.cpp
index 91e403df2b9961665677146ef9862bd29ddd351c..777843cb154d3d1ad23b141d541d3192c7906297 100644
--- a/Core/modulesmanager.cpp
+++ b/Core/modulesmanager.cpp
@@ -6,8 +6,8 @@
 
 #include "Core/module.h"
 #include "Core/xmlobject.h"
-#include "Modules/Utility/modulespicker.h"
-#include "Modules/Utility/saveconfigurationdialog.h"
+#include "Components/ModulesPicker/modulespicker.h"
+#include "Components/SaveConfigurationDialog/saveconfigurationdialog.h"
 #include "Modules/skywardhubstrings.h"
 
 ModulesList ModulesManager::modulesListHandler;
@@ -31,40 +31,40 @@ QString ModulesManager::getModuleName(ModuleId id) {
     return "";
 }
 
-Module *ModulesManager::instantiateModuleById(ModuleId id) {
+Module* ModulesManager::instantiateModuleById(ModuleId id) {
     if(ModulesManager::modulesListHandler.containsId(id))
         return ModulesManager::modulesListHandler.getFactory(id)();
 
     return nullptr;
 }
 
-Module *ModulesManager::instantiateModuleById(ModuleId id, const XmlObject &params) {
-    Module *m = instantiateModuleById(id);
+Module* ModulesManager::instantiateModuleById(ModuleId id, const XmlObject& params) {
+    Module* m = instantiateModuleById(id);
 
     if(m != nullptr)
         m->initialize(params);
     return m;
 }
 
-Module *ModulesManager::instantiateModuleByName(const QString &moduleName) {
+Module* ModulesManager::instantiateModuleByName(const QString& moduleName) {
     return ModulesManager::modulesListHandler.findFactoryByModuleName(moduleName)();
 }
 
-Module *ModulesManager::instantiateModuleByName(const QString &moduleName, const XmlObject &params) {
-    Module *m = instantiateModuleByName(moduleName);
+Module* ModulesManager::instantiateModuleByName(const QString& moduleName, const XmlObject& params) {
+    Module* m = instantiateModuleByName(moduleName);
 
     if(m != nullptr)
         m->initialize(params);
     return m;
 }
 
-QList<Module *>ModulesManager::loadModuleFromXml(XmlObject &xml) {
+QList<Module*>ModulesManager::loadModuleFromXml(XmlObject& xml) {
     QList<Module*> windows;
 
     for(int i = 0; i < xml.childCount(); i++) {
-        XmlObject *child = xml.getChild(i);
+        XmlObject* child = xml.getChild(i);
         QString moduleName = child->getObjectName();
-        Module *module = ModulesManager::instantiateModuleByName(moduleName);
+        Module* module = ModulesManager::instantiateModuleByName(moduleName);
         if(module != nullptr) {
             module->fromXmlObject(*child);
             windows.append(module);
@@ -74,10 +74,10 @@ QList<Module *>ModulesManager::loadModuleFromXml(XmlObject &xml) {
     return windows;
 }
 
-void ModulesManager::setModules(QList<Module *> modules) {
+void ModulesManager::setModules(QList<Module*> modules) {
     int i;
     for(i = 0 ; i < pages.count() && i < modules.count(); i++ ) {
-        Module *old = pages[i];
+        Module* old = pages[i];
         emit pages[i]->getModuleEventsHandler()->replaceMeWith(old, modules[i]);
         delete old;
     }
@@ -91,19 +91,19 @@ void ModulesManager::setModules(QList<Module *> modules) {
     }
 }
 
-void ModulesManager::addModules(QList<Module *> modules) {
+void ModulesManager::addModules(QList<Module*> modules) {
     for(int i = 0; i < modules.count(); i++) {
         addPage(modules[i]);
     }
 }
 
-void ModulesManager::addPage(Module *module) {
+void ModulesManager::addPage(Module* module) {
     pages.append(module);
     connectModule(module);
     emit pageAdded(pages.indexOf(module));
 }
 
-void ModulesManager::removePage(Module *module) {
+void ModulesManager::removePage(Module* module) {
     int index = pages.indexOf(module);
     if(index >= 0) {
         pages.removeAt(index);
@@ -111,14 +111,14 @@ void ModulesManager::removePage(Module *module) {
     }
 }
 
-Module *ModulesManager::instantiateDefaultModule() {
+Module* ModulesManager::instantiateDefaultModule() {
     return ModulesManager::instantiateModuleById(ModuleId::EMPTY);
 }
 
-Module *ModulesManager::invokeModulesPickerService() {
+Module* ModulesManager::invokeModulesPickerService() {
 #ifdef MODULESPICKER_H
 
-    ModulesPicker *p = new ModulesPicker();
+    ModulesPicker* p = new ModulesPicker();
     return p->start();
 
 #endif
@@ -130,7 +130,7 @@ QList<QString> ModulesManager::getModulesNamesList() {
 }
 
 
-void ModulesManager::connectModule(Module *module) {
+void ModulesManager::connectModule(Module* module) {
     if(module) {
         connect(module->getModuleEventsHandler(), &ModuleEventsHandler::contextMenuRequest, this, &ModulesManager::onContextMenuRequest);
         connect(module->getModuleEventsHandler(), &ModuleEventsHandler::beforeDelete, this, &ModulesManager::onModuleDeleted);
@@ -140,7 +140,7 @@ void ModulesManager::connectModule(Module *module) {
     //connect(module->getModuleEventsHandler(),&ModuleEventsHandler::replaceMeWithModules,this,&ModulesManager::openWindows);
 }
 
-void ModulesManager::disconnectModule(Module *module) {
+void ModulesManager::disconnectModule(Module* module) {
     if(module) {
         disconnect(module->getModuleEventsHandler(), &ModuleEventsHandler::contextMenuRequest, this, &ModulesManager::onContextMenuRequest);
         disconnect(module->getModuleEventsHandler(), &ModuleEventsHandler::beforeDelete, this, &ModulesManager::onModuleDeleted);
@@ -148,7 +148,7 @@ void ModulesManager::disconnectModule(Module *module) {
     }
 }
 
-void ModulesManager::onModuleDeleted(Module *deletedModule) {
+void ModulesManager::onModuleDeleted(Module* deletedModule) {
     int index = pages.indexOf(deletedModule);
 
     if(index == 0) {
@@ -162,7 +162,7 @@ void ModulesManager::openNewEmptyWindow() {
     addPage(ModulesManager::instantiateDefaultModule());
 }
 
-Module *ModulesManager::getModuleAt(int index) {
+Module* ModulesManager::getModuleAt(int index) {
     if(index >= 0 && index < pages.count()) {
         return pages.at(index);
     }
@@ -180,7 +180,7 @@ void ModulesManager::clearPages() {
     pages.clear();
 }
 
-void ModulesManager::onReplaceMeWith(Module *sender, Module *newModule) {
+void ModulesManager::onReplaceMeWith(Module* sender, Module* newModule) {
     if(sender != nullptr && newModule != nullptr) {
         int index = pages.indexOf(sender);
         if(index >= 0) {
@@ -199,7 +199,7 @@ void ModulesManager::setRebuild(bool value) {
     rebuild = value;
 }
 
-void ModulesManager::onContextMenuRequest(QMenu &menu, const QPoint &p) {
+void ModulesManager::onContextMenuRequest(QMenu& menu, const QPoint& p) {
     QMenu hubMenu("Hub Menu");
     hubMenu.addActions(getHubMenuActions());
     menu.addMenu(&hubMenu);
@@ -261,7 +261,7 @@ void ModulesManager::saveConfigurationService() {
             QDir().mkpath(SkywardHubStrings::defaultPrefabsFolder);
         }
 
-        for(Module *module : pages) {
+        for(Module* module : pages) {
             xml.addChild(module->toXmlObject());
         }
 
diff --git a/Modules/DefaultModule/defaultmodule.cpp b/Modules/DefaultModule/defaultmodule.cpp
index ac9f121d7b6fcfee518fe3012cb3f061399eef92..7d60a6bce0dd36ddd6e136c7b8dfa98acdd7fa08 100644
--- a/Modules/DefaultModule/defaultmodule.cpp
+++ b/Modules/DefaultModule/defaultmodule.cpp
@@ -1,10 +1,10 @@
 #include "defaultmodule.h"
 #include <QCloseEvent>
 
-#include "Modules/Utility/contextmenuseparator.h"
+#include "Components/ContextMenuSeparator/contextmenuseparator.h"
 #include "Core/modulesmanager.h"
 
-DefaultModule::DefaultModule(QWidget *parent) : QWidget(parent) {
+DefaultModule::DefaultModule(QWidget* parent) : QWidget(parent) {
 
 }
 
@@ -15,7 +15,7 @@ DefaultModule::~DefaultModule() {
     menuActions.clear();
 }
 
-void DefaultModule::closeEvent(QCloseEvent *event) {
+void DefaultModule::closeEvent(QCloseEvent* event) {
     if (event->spontaneous()) {
         emit getModuleEventsHandler()->beforeDelete(this);
         QWidget::closeEvent(event);
@@ -35,7 +35,7 @@ void DefaultModule::defaultContextMenuSetup() {
     addCustomActionsToMenu();
 }
 
-void DefaultModule::onCustomContextMenuRequested(const QPoint &p) {
+void DefaultModule::onCustomContextMenuRequested(const QPoint& p) {
     QMenu menu;
     onSkywardHubContextMenuRequested(menu, mapToGlobal(p));
 }
@@ -44,7 +44,7 @@ QString DefaultModule::getName(const ModuleId id) {
     return  getCore()->getModulesManager()->getModuleName(id);
 }
 
-void DefaultModule::onSkywardHubContextMenuRequested(QMenu &menu, const QPoint &p) {
+void DefaultModule::onSkywardHubContextMenuRequested(QMenu& menu, const QPoint& p) {
     QMenu newMenu(menuName);
     if(!menuName.isEmpty()) {
         newMenu.addActions(menuActions);
@@ -70,16 +70,16 @@ void DefaultModule::addDefaultActionsToMenu() {
     addActionToMenu(replace);
 }
 
-void DefaultModule::addActionToMenu(QAction *action) {
+void DefaultModule::addActionToMenu(QAction* action) {
     menuActions.append(action);
 }
 
-void DefaultModule::showMenuActionsInSeparatedMenu(const QString &menuName) {
+void DefaultModule::showMenuActionsInSeparatedMenu(const QString& menuName) {
     this->menuName = menuName;
 }
 
 void DefaultModule::onReplaceClicked() {
-    Module *newModule = getCore()->getModulesManager()->invokeModulesPickerService();
+    Module* newModule = getCore()->getModulesManager()->invokeModulesPickerService();
     if(newModule != nullptr) {
         emit getModuleEventsHandler()->replaceMeWith(this, newModule);
         delete this;
@@ -90,6 +90,6 @@ void DefaultModule::addCustomActionsToMenu() {
 
 }
 
-SkywardHubCoreProxy &DefaultModule::getCore() {
+SkywardHubCoreProxy& DefaultModule::getCore() {
     return proxyCore;
 }
diff --git a/Modules/Empty/emptymodule.cpp b/Modules/Empty/emptymodule.cpp
index d309d14554d9518e973c0874887f72192ba34ce6..2b187cdcb72873b9c0bcece1ea5eaabbb2b1b037 100644
--- a/Modules/Empty/emptymodule.cpp
+++ b/Modules/Empty/emptymodule.cpp
@@ -4,7 +4,8 @@
 #include <QDebug>
 #include <QAction>
 #include <QPoint>
-#include "Modules/Utility/contextmenuseparator.h"
+#include <QMessageBox>
+#include "Components/ContextMenuSeparator/contextmenuseparator.h"
 #include "Core/modulesmanager.h"
 
 EmptyModule::EmptyModule() : DefaultModule(), ui(new Ui::EmptyModule) {
@@ -22,18 +23,11 @@ void EmptyModule::connectUiSlots() {
     connect(ui->selectPanel_button, &QPushButton::clicked, this, &EmptyModule::onSelectPanelClick);
 }
 
-
 void EmptyModule::onSelectPanelClick() {
-    //onModuleSelected(getManager()->InvokeModulesPickerService());
     onReplaceClicked();
 }
 
-//void EmptyModule::onModuleSelected(Module* modulePointer)
-//{
-//    emit getModuleEventsHandler()->replaceMeWith(modulePointer);
-//}
-
-QWidget *EmptyModule::toWidget() {
+QWidget* EmptyModule::toWidget() {
     return this;
 }
 
@@ -41,7 +35,7 @@ XmlObject EmptyModule::toXmlObject() {
     return XmlObject(getName(ModuleId::EMPTY));
 }
 
-void EmptyModule::fromXmlObject(const XmlObject &xmlObject) {
+void EmptyModule::fromXmlObject(const XmlObject& xmlObject) {
     Q_UNUSED(xmlObject);
 }
 
diff --git a/Modules/Empty/emptymodule.h b/Modules/Empty/emptymodule.h
index 3e34237f0b9b94445d6b7a94382c43aea82ffdcf..781b6c97f18caebc5463e5d10b702377e3b2ebc4 100644
--- a/Modules/Empty/emptymodule.h
+++ b/Modules/Empty/emptymodule.h
@@ -18,11 +18,10 @@ class EmptyModule : public DefaultModule {
     explicit EmptyModule();
     ~EmptyModule() override;
 
-    //void onModuleSelected(Module *modulePointer);
-    QWidget *toWidget() override;
+    QWidget* toWidget() override;
 
     XmlObject toXmlObject() override;
-    void fromXmlObject(const XmlObject &xmlObject) override;
+    void fromXmlObject(const XmlObject& xmlObject) override;
 
   protected:
     void connectUiSlots();
@@ -31,7 +30,7 @@ class EmptyModule : public DefaultModule {
     void onSelectPanelClick();
 
   private:
-    Ui::EmptyModule *ui;
+    Ui::EmptyModule* ui;
 };
 
 #endif // EMPTYMODULE_H
diff --git a/Modules/Graph/graphmodule.cpp b/Modules/Graph/graphmodule.cpp
index 65e61e1a642e6eb638e3d6698280864fce4f7a76..430e827146ab3c7b59fd0760fd22752b570de4ec 100644
--- a/Modules/Graph/graphmodule.cpp
+++ b/Modules/Graph/graphmodule.cpp
@@ -1,13 +1,13 @@
 #include "graphmodule.h"
 #include "ui_graphmodule.h"
 
-#include "Modules/Utility/contextmenuseparator.h"
+#include "Components/ContextMenuSeparator/contextmenuseparator.h"
+#include "Components/SubscriptionsPanel/subscriptionspanel.h"
 #include "Core/modulemessagesbroker.h"
-#include "Modules/Utility/subscriptionspanel.h"
 #include <QDebug>
 #include <QTimer>
 
-GraphModule::GraphModule(QWidget *parent) : DefaultModule(parent), ui(new Ui::GraphModule) {
+GraphModule::GraphModule(QWidget* parent) : DefaultModule(parent), ui(new Ui::GraphModule) {
     ui->setupUi(this);
     defaultContextMenuSetup();
     buildCentralGraphView();
@@ -96,8 +96,8 @@ void GraphModule::onUpdateTimerTick() {
     replotAll();
 }
 
-QCPGraph *GraphModule::instantiateNewGraph() {
-    QCPGraph *graph = graphCentralView.addGraph();
+QCPGraph* GraphModule::instantiateNewGraph() {
+    QCPGraph* graph = graphCentralView.addGraph();
     int r = rand() % 255;
     int g = rand() % 255;
     int b = rand() % 255;
@@ -108,7 +108,7 @@ QCPGraph *GraphModule::instantiateNewGraph() {
 }
 
 
-QWidget *GraphModule::toWidget() {
+QWidget* GraphModule::toWidget() {
     return this;
 }
 
@@ -123,7 +123,7 @@ XmlObject GraphModule::toXmlObject() {
     return obj;
 }
 
-void GraphModule::fromXmlObject(const XmlObject &xmlObject) {
+void GraphModule::fromXmlObject(const XmlObject& xmlObject) {
     if(xmlObject.getObjectName() == getName(ModuleId::GRAPH)) {
         for(int i = 0; i < xmlObject.childCount(); i++) {
             XmlObject child = xmlObject.childAt(i);
@@ -139,7 +139,7 @@ void GraphModule::fromXmlObject(const XmlObject &xmlObject) {
 
 void GraphModule::onSubscribeClicked() {
     QList<QString> subs = subscriptions.keys();
-    SubscriptionsPanel *sPanel = new SubscriptionsPanel(&subs);
+    SubscriptionsPanel* sPanel = new SubscriptionsPanel(&subs);
     sPanel->setWindowTitle("Graph Subscriptions");
     connect(sPanel, &SubscriptionsPanel::SubscriptionAdded, this, &GraphModule::onSubscriptionAdded);
     connect(sPanel, &SubscriptionsPanel::SubscriptionRemoved, this, &GraphModule::onSubscriptionRemoved);
@@ -147,8 +147,8 @@ void GraphModule::onSubscribeClicked() {
 }
 
 
-void GraphModule::onSubscriptionAdded(const QString &subscription) {
-    QCPGraph *graph = instantiateNewGraph();
+void GraphModule::onSubscriptionAdded(const QString& subscription) {
+    QCPGraph* graph = instantiateNewGraph();
     graph->setName(subscription);
     subscriptions[subscription] = graph;
     getCore()->getModuleMessagesBroker()->subscribe(subscription, this, [this](const ModuleMessage & msg) {
@@ -160,8 +160,8 @@ void GraphModule::onSubscriptionAdded(const QString &subscription) {
     graphCentralView.replot();
 }
 
-void GraphModule::onSubscriptionRemoved(const QString &subscription) {
-    QCPGraph *graph = subscriptions[subscription];
+void GraphModule::onSubscriptionRemoved(const QString& subscription) {
+    QCPGraph* graph = subscriptions[subscription];
     graphCentralView.removeGraph(graph);
     subscriptions.remove(subscription);
     getCore()->getModuleMessagesBroker()->unsubscribe(subscription, this);
@@ -170,7 +170,7 @@ void GraphModule::onSubscriptionRemoved(const QString &subscription) {
     graphCentralView.replot();
 }
 
-void GraphModule::onMsgReceived(const ModuleMessage &msg) {
+void GraphModule::onMsgReceived(const ModuleMessage& msg) {
     if(!subscriptions.contains(msg.originalTopic())) {
         onSubscriptionAdded(msg.originalTopic());
     }
@@ -179,7 +179,7 @@ void GraphModule::onMsgReceived(const ModuleMessage &msg) {
         return;
 
     if(subscriptions.contains(msg.originalTopic())) {
-        QCPGraph *graph = subscriptions[msg.originalTopic()];
+        QCPGraph* graph = subscriptions[msg.originalTopic()];
 
         double x = 0, y = 0;
         x = msg.timestamp().msecsSinceStartOfDay();
@@ -233,7 +233,7 @@ void GraphModule::onStopClicked(bool checked) {
 }
 
 
-QCPGraph *GraphModule::getSelectedGraph() {
+QCPGraph* GraphModule::getSelectedGraph() {
     QList<QCPGraph*> selection;
     //if(graph)
     selection = graphCentralView.selectedGraphs();
@@ -243,7 +243,7 @@ QCPGraph *GraphModule::getSelectedGraph() {
     return nullptr;
 }
 
-void GraphModule::centerView(const QCPGraph * graph) {
+void GraphModule::centerView(const QCPGraph* graph) {
     if(!graph->data()->isEmpty()) {
         double lastKey = (graph->data()->constEnd() - 1)->key;
         double lastValue = (graph->data()->constEnd() - 1)->value;
diff --git a/Modules/ImageViewer/imageviewermodule.cpp b/Modules/ImageViewer/imageviewermodule.cpp
index 4f9271b05e5b4ed121fa2c753bc92bab2b652f54..7fd8dcedacbae76dec3d2b45d291d03003e5365a 100644
--- a/Modules/ImageViewer/imageviewermodule.cpp
+++ b/Modules/ImageViewer/imageviewermodule.cpp
@@ -4,14 +4,14 @@
 #include <QFile>
 #include <QTextStream>
 #include <QTextDocument>
-#include "Modules/Utility/contextmenuseparator.h"
+#include "Components/ContextMenuSeparator/contextmenuseparator.h"
 #include "Core/modulemessagesbroker.h"
 #include "Modules/skywardhubstrings.h"
 #include <QMouseEvent>
 #include <QMessageBox>
 #include <QInputDialog>
 
-ImageViewerModule::ImageViewerModule(QWidget *parent) : DefaultModule(parent), ui(new Ui::ImageViewerModule) {
+ImageViewerModule::ImageViewerModule(QWidget* parent) : DefaultModule(parent), ui(new Ui::ImageViewerModule) {
     ui->setupUi(this);
     showImage(fileName);
     defaultContextMenuSetup();
@@ -34,7 +34,7 @@ ImageViewerModule::~ImageViewerModule() {
     delete ui;
 }
 
-QWidget *ImageViewerModule::toWidget() {
+QWidget* ImageViewerModule::toWidget() {
     return this;
 }
 
@@ -50,7 +50,7 @@ XmlObject ImageViewerModule::toXmlObject() {
     return obj;
 }
 
-void ImageViewerModule::fromXmlObject(const XmlObject &xmlObject) {
+void ImageViewerModule::fromXmlObject(const XmlObject& xmlObject) {
     if(xmlObject.getObjectName() == getName(ModuleId::IMAGEVIEWER)) {
         QString path = xmlObject.getAttribute("ImageName");
         if(path != "") {
@@ -67,29 +67,29 @@ void ImageViewerModule::fromXmlObject(const XmlObject &xmlObject) {
 }
 
 
-void ImageViewerModule::resizeEvent(QResizeEvent *event) {
+void ImageViewerModule::resizeEvent(QResizeEvent* event) {
     Q_UNUSED(event);
     fitImage();
 }
 
-void ImageViewerModule::showImage(const QString &filename) {
+void ImageViewerModule::showImage(const QString& filename) {
     firstResizeDone = false;
     QString filePaht = SkywardHubStrings::defaultConfigurationFolder + "/" + filename;
     QPixmap pixmap(filePaht);
     showImage(pixmap);
 }
 
-void ImageViewerModule::showImage(const QPixmap &pixmap) {
+void ImageViewerModule::showImage(const QPixmap& pixmap) {
     backgroundImg.setPixmap(pixmap);
     scene.addItem(&backgroundImg);
     ui->graphicsView->setScene(&scene);
     fitImage();
 }
 
-void ImageViewerModule::addItem(const XmlObject &xml) {
+void ImageViewerModule::addItem(const XmlObject& xml) {
     int itemId = onAddNewItemRequested();
     if(imageViewerItems.contains(itemId)) {
-        ImageViewerItem *item = imageViewerItems[itemId];
+        ImageViewerItem* item = imageViewerItems[itemId];
         item->setXml(xml);
 
         if(!item->getTopic().isEmpty()) {
@@ -136,7 +136,7 @@ void ImageViewerModule::fitImage() {
     ui->graphicsView->fitInView(&backgroundImg, Qt::KeepAspectRatio);
 }
 
-void ImageViewerModule::onImageFilePathChanged(const QString &newFilePath) {
+void ImageViewerModule::onImageFilePathChanged(const QString& newFilePath) {
     QString trimmedFilePath = newFilePath.trimmed();
     if(trimmedFilePath != "") {
         fileName = trimmedFilePath;
@@ -149,7 +149,7 @@ int ImageViewerModule::onAddNewItemRequested() {
     return addNewItem(defaultCreationPoint);
 }
 
-void ImageViewerModule::onMouseMoved(const QPointF &point) {
+void ImageViewerModule::onMouseMoved(const QPointF& point) {
     if(!firstResizeDone) {
         firstResizeDone = true;
 
@@ -165,7 +165,7 @@ void ImageViewerModule::onMouseMoved(const QPointF &point) {
     }
 }
 
-void ImageViewerModule::onDragStarted(const QPointF &initialPosition) {
+void ImageViewerModule::onDragStarted(const QPointF& initialPosition) {
     for(int key : imageViewerItems.keys()) {
         ImageViewerItem* item = imageViewerItems[key];
         if(item->isPointInsideMyArea(initialPosition)) {
@@ -181,7 +181,7 @@ void ImageViewerModule::onDragStopped() {
     }
 }
 
-void ImageViewerModule::onDoubleClick(const QPointF &point) {
+void ImageViewerModule::onDoubleClick(const QPointF& point) {
     QList<ImageViewerItem*> clickedItems;
     for(int key : imageViewerItems.keys()) {
         ImageViewerItem* item = imageViewerItems[key];
@@ -196,7 +196,7 @@ void ImageViewerModule::onDoubleClick(const QPointF &point) {
     }
 }
 
-int ImageViewerModule::addNewItem(const QPointF &point) {
+int ImageViewerModule::addNewItem(const QPointF& point) {
     return addItem(createNewItem(point));
 }
 
@@ -207,20 +207,20 @@ int ImageViewerModule::pickUnusedItemId() {
     return lastUsedId;
 }
 
-ImageViewerItem *ImageViewerModule::createNewItem(const QPointF &point) {
+ImageViewerItem* ImageViewerModule::createNewItem(const QPointF& point) {
     ImageViewerItem* newItem = new ImageViewerItem();
     newItem->setId(pickUnusedItemId());
     newItem->setCenter(point);
     return newItem;
 }
 
-int ImageViewerModule::addItem(ImageViewerItem *item) {
+int ImageViewerModule::addItem(ImageViewerItem* item) {
     imageViewerItems[item->getId()] = item;
     scene.addImageViewItem(item);
     return item->getId();
 }
 
-void ImageViewerModule::showInSettings(ImageViewerItem *item) {
+void ImageViewerModule::showInSettings(ImageViewerItem* item) {
     settingsPanel.setTarget(item->getId(), item->toXmlObject());
     settingsPanel.show();
 }
@@ -252,7 +252,7 @@ void ImageViewerModule::onSettingsSetupToAllRequested() {
     }
 }
 
-void ImageViewerModule::onItemTopicChanged(ImageViewerItem *item) {
+void ImageViewerModule::onItemTopicChanged(ImageViewerItem* item) {
     if(topicMap.contains(item->getId())) {
         QString oldTopic = topicMap[item->getId()];
         getCore()->getModuleMessagesBroker()->unsubscribe(oldTopic, this);
@@ -268,11 +268,11 @@ void ImageViewerModule::onItemTopicChanged(ImageViewerItem *item) {
     }
 }
 
-void ImageViewerModule::onReceiveMsg(const ModuleMessage &msg) {
+void ImageViewerModule::onReceiveMsg(const ModuleMessage& msg) {
     QList<int> keys = topicMap.keys();
     for(int key : keys) {
         if(msg.topic() == topicMap[key] && imageViewerItems.contains(key)) {
-            ImageViewerItem *item = imageViewerItems[key];
+            ImageViewerItem* item = imageViewerItems[key];
             item->onModuleMessageReceived(msg);
             scene.updateImageViewItem(item);
         }
diff --git a/Modules/Mavlink/mavlinkmodule.cpp b/Modules/Mavlink/mavlinkmodule.cpp
index db21dcac68b23d5800e025855947d1f6a43252c2..1f22d728c97cd4b0514d74b4202a2b45e879a0ca 100644
--- a/Modules/Mavlink/mavlinkmodule.cpp
+++ b/Modules/Mavlink/mavlinkmodule.cpp
@@ -1,12 +1,12 @@
 #include "mavlinkmodule.h"
 #include "ui_mavlinkmodule.h"
-#include "Modules/Utility/contextmenuseparator.h"
+#include "Components/ContextMenuSeparator/contextmenuseparator.h"
 #include <QDebug>
 #include <QSerialPortInfo>
 #include "Core/modulemessagesbroker.h"
 #include "Modules/skywardhubstrings.h"
 
-MavlinkModule::MavlinkModule(QWidget *parent) : DefaultModule(parent), ui(new Ui::MavlinkModule), serialPort(this) {
+MavlinkModule::MavlinkModule(QWidget* parent) : DefaultModule(parent), ui(new Ui::MavlinkModule), serialPort(this) {
     ui->setupUi(this);
     defaultContextMenuSetup();
 
@@ -39,7 +39,7 @@ XmlObject MavlinkModule::toXmlObject() {
     return obj;
 }
 
-void MavlinkModule::fromXmlObject(const XmlObject &xmlObject) {
+void MavlinkModule::fromXmlObject(const XmlObject& xmlObject) {
     if(xmlObject.getObjectName() == getName(ModuleId::MAVLINK)) {
         bool ok;
         int index = xmlObject.getAttribute("BaudRateIndex").toInt(&ok);
@@ -54,12 +54,12 @@ void MavlinkModule::subscribe() {
         onCommandReceived(msg);
     });
 
-    getCore()->getModuleMessagesBroker()->subscribe(SkywardHubStrings::telemetryRequestTopic,this,[this](const ModuleMessage &msg){
+    getCore()->getModuleMessagesBroker()->subscribe(SkywardHubStrings::telemetryRequestTopic, this, [this](const ModuleMessage & msg) {
         onTelemetryRequestReceived(msg);
     });
 }
 
-void MavlinkModule::publish(const ModuleMessage &msg) {
+void MavlinkModule::publish(const ModuleMessage& msg) {
     getCore()->getModuleMessagesBroker()->publish(msg);
 }
 
@@ -86,7 +86,7 @@ void MavlinkModule::initializeSerialPortView() {
     bool first = true;
     //Check available port
     const auto serialPortInfos = QSerialPortInfo::availablePorts();
-    for (const QSerialPortInfo &serialPortInfo : serialPortInfos) {
+    for (const QSerialPortInfo& serialPortInfo : serialPortInfos) {
         //        QString serialNumber = serialPortInfo.serialNumber();
         //        QVariant data = (!serialNumber.isEmpty() ? serialNumber : "N/A");
         QVariant data(serialPortInfo.portName());
@@ -157,7 +157,7 @@ void MavlinkModule::onStopClicked() {
     closePort();
 }
 
-void MavlinkModule::onMsgReceived(const ModuleMessage &msg) {
+void MavlinkModule::onMsgReceived(const ModuleMessage& msg) {
     msgArrived++;
     publish(msg);
 }
@@ -224,7 +224,7 @@ void MavlinkModule::onSerialPortIndexChanged(int index) {
     ui->lineEdit_serialPort->setText(data.toString());
 }
 
-void MavlinkModule::onCommandReceived(const ModuleMessage &msg) {
+void MavlinkModule::onCommandReceived(const ModuleMessage& msg) {
     QString arg = msg.originalTopic().replace(SkywardHubStrings::commandsTopic + "/", "");
     mavlink_message_t encoded_mvl_msg;
     if(arg == "PING_TC") {
@@ -358,7 +358,7 @@ void MavlinkModule::onCommandReceived(const ModuleMessage &msg) {
 
 }
 
-void MavlinkModule::onTelemetryRequestReceived(const ModuleMessage &msg) {
+void MavlinkModule::onTelemetryRequestReceived(const ModuleMessage& msg) {
     QString arg = msg.originalTopic().replace(SkywardHubStrings::telemetryRequestTopic + "/", "");
     mavlink_message_t encoded_mvl_msg;
     if(arg == "MAV_SYS_TM_ID") {
diff --git a/Modules/Mavlink/mavlinkmodule.h b/Modules/Mavlink/mavlinkmodule.h
index 100417169042bc5ee9e290cd15a178712cc05286..68b93fc4378c87ee53e90d3c13c2aa7ce89071e3 100644
--- a/Modules/Mavlink/mavlinkmodule.h
+++ b/Modules/Mavlink/mavlinkmodule.h
@@ -3,8 +3,7 @@
 
 #include <QWidget>
 #include "Core/module.h"
-//#include "Modules/Graph/qcustomplot.h"
-#include "Modules/Utility/togglebutton.h"
+#include "Components/ToggleButton/togglebutton.h"
 #include <QTimer>
 #include "Core/modulemessage.h"
 #include "mavlinkreader.h"
diff --git a/Modules/SkywardHub/deployer.cpp b/Modules/SkywardHub/deployer.cpp
index e9d8b988f35fab6ca338379cf0550b18f4787c13..73fed769a3b2e7782bfc9986b9d9f16c94ba8e38 100644
--- a/Modules/SkywardHub/deployer.cpp
+++ b/Modules/SkywardHub/deployer.cpp
@@ -10,7 +10,7 @@ Deployer::Deployer() {
 
 }
 
-bool Deployer::deploy(const QList<QString> &activeModules) {
+bool Deployer::deploy(const QList<QString>& activeModules) {
     setupModulesFiles(activeModules);
 
     if(!deployerPicker.pickDirectory()) {
@@ -37,7 +37,7 @@ QString Deployer::getDeployReleaseFolder() const {
     return deployDir + "/" + newCopyReleaseFolderName;
 }
 
-void Deployer::setupModulesFiles(const QList<QString> &activeModules) {
+void Deployer::setupModulesFiles(const QList<QString>& activeModules) {
     modulesFiles.clear();
     modulesFiles.append("SOURCES");
     modulesFiles.append("HEADERS");
@@ -60,7 +60,7 @@ void Deployer::setupModulesFiles(const QList<QString> &activeModules) {
     modulesFiles.append("Modules/DefaultModule/");
     modulesFiles.append("Modules/Splitter/");
     modulesFiles.append("Modules/MainWindow/");
-    modulesFiles.append("Modules/Utility/");
+    modulesFiles.append("Components/");
 
     modulesFiles.append(activeModules);
 }
@@ -80,7 +80,7 @@ void Deployer::produceNewProFile() {
 
 
 
-QList<QString> Deployer::makeNewProFile(const QList<QString> &oldProFile) const {
+QList<QString> Deployer::makeNewProFile(const QList<QString>& oldProFile) const {
     QList<QString> newProFile;
 
     bool copy = true;
@@ -99,7 +99,7 @@ QList<QString> Deployer::makeNewProFile(const QList<QString> &oldProFile) const
     return newProFile;
 }
 
-bool Deployer::checkIfFilesIsActive(const QString &line) const {
+bool Deployer::checkIfFilesIsActive(const QString& line) const {
     for(QString file : modulesFiles) {
         if(line.contains(file)) {
             return true;
@@ -118,7 +118,7 @@ void Deployer::produceNewModuleListFile() {
     writeFile(newModulesFile, filePath);
 }
 
-QList<QString> Deployer::makeNewModulesListFile(const QList<QString> &oldModulesListFile) const {
+QList<QString> Deployer::makeNewModulesListFile(const QList<QString>& oldModulesListFile) const {
     QList<QString> newFile;
 
     for(QString line : oldModulesListFile) {
@@ -200,7 +200,7 @@ bool Deployer::isDeployConfirmed() {
 }
 
 
-void Deployer::copyPath(const QString &src, const QString &dst) {
+void Deployer::copyPath(const QString& src, const QString& dst) {
     QDir dir(src);
     if (! dir.exists())
         return;
@@ -218,7 +218,7 @@ void Deployer::copyPath(const QString &src, const QString &dst) {
 
 
 
-QList<QString> Deployer::loadFile(const QString &path) {
+QList<QString> Deployer::loadFile(const QString& path) {
     QList<QString> stringList;
     QFile textFile(path);
     if(textFile.open(QIODevice::ReadOnly)) {
@@ -259,7 +259,7 @@ void Deployer::makeDeployDir() const {
 }
 
 
-bool Deployer::writeFile(const QList<QString> &text, const QString &path) {
+bool Deployer::writeFile(const QList<QString>& text, const QString& path) {
     bool result = false;
     QFile file(path);
     if(file.open(QIODevice::WriteOnly)) {
diff --git a/Modules/Splitter/splittermodule.cpp b/Modules/Splitter/splittermodule.cpp
index d613a0b77a1eb645a3fc10c71f9d253cfac92dce..ef858a9cfeec4cf46f39244135a88f5dea2c86ea 100644
--- a/Modules/Splitter/splittermodule.cpp
+++ b/Modules/Splitter/splittermodule.cpp
@@ -2,7 +2,7 @@
 #include "ui_splittermodule.h"
 
 #include <QLabel>
-#include "Modules/Utility/contextmenuseparator.h"
+#include "Components/ContextMenuSeparator/contextmenuseparator.h"
 #include <QDebug>
 #include "Core/modulesmanager.h"
 
@@ -21,7 +21,7 @@ SplitterModule::~SplitterModule() {
     }
 }
 
-QWidget *SplitterModule::toWidget() {
+QWidget* SplitterModule::toWidget() {
     return this;
 }
 
@@ -41,7 +41,7 @@ XmlObject SplitterModule::toXmlObject() {
     }
     obj.addAttribute("Sizes", sizesString);
 
-    for(Module *module : childList) {
+    for(Module* module : childList) {
         XmlObject xmlChild = module->toXmlObject();
         obj.addChild(xmlChild);
     }
@@ -49,7 +49,7 @@ XmlObject SplitterModule::toXmlObject() {
     return obj;
 }
 
-void SplitterModule::fromXmlObject(const XmlObject &xmlObject) {
+void SplitterModule::fromXmlObject(const XmlObject& xmlObject) {
     if(xmlObject.getObjectName() == getCore()->getModulesManager()->getModuleName(ModuleId::SPLITTER)) {
         QString orientation = xmlObject.getAttribute("Orientation");
         if(orientation != "") {
@@ -72,7 +72,7 @@ void SplitterModule::fromXmlObject(const XmlObject &xmlObject) {
 
         for(int i = 0; i < xmlObject.childCount(); i++) {
             XmlObject xmlChild = xmlObject.childAt(i);
-            Module *module = getCore()->getModulesManager()->instantiateModuleByName(xmlChild.getObjectName());
+            Module* module = getCore()->getModulesManager()->instantiateModuleByName(xmlChild.getObjectName());
             if(module != nullptr) {
                 module->fromXmlObject(xmlChild);
             } else {
@@ -91,7 +91,7 @@ void SplitterModule::fromXmlObject(const XmlObject &xmlObject) {
     }
 }
 
-void SplitterModule::initialize(const XmlObject &params) {
+void SplitterModule::initialize(const XmlObject& params) {
     int orientation;
     if(params.getIntAttribute("Orientation", orientation)) {
         if(orientation == Qt::Vertical) {
@@ -101,12 +101,12 @@ void SplitterModule::initialize(const XmlObject &params) {
     }
 }
 
-void SplitterModule::addModule(Module *module) {
+void SplitterModule::addModule(Module* module) {
     int count = splitter.count();
     addModule(module, count);
 }
 
-void SplitterModule::addModule(Module *module, int position) {
+void SplitterModule::addModule(Module* module, int position) {
     connect(module->getModuleEventsHandler(), &ModuleEventsHandler::replaceMeWith, this, [this](Module * sender, Module * newModule) {
         this->replace(sender, newModule);
     });
@@ -120,7 +120,7 @@ void SplitterModule::addModule(Module *module, int position) {
     splitter.insertWidget(position, module->toWidget());
 }
 
-void SplitterModule::replace(Module *oldModule, Module *newModule) {
+void SplitterModule::replace(Module* oldModule, Module* newModule) {
     if(oldModule != nullptr && newModule != nullptr) {
         int i = splitter.indexOf(oldModule->toWidget());
         addModule(newModule, i);
@@ -176,7 +176,7 @@ void SplitterModule::addCustomActionsToMenu() {
     addActionToMenu(changeOrientation);
 }
 
-void SplitterModule::onModuleDelete(Module *module) {
+void SplitterModule::onModuleDelete(Module* module) {
     int index = childList.indexOf(module);
     if(index >= 0) {
         childList.removeAt(index);
diff --git a/Modules/Table/tablemodule.cpp b/Modules/Table/tablemodule.cpp
index 43b029ba66a33de68c0178a42bad6bc1bf2d9897..4fc4901fcc3428e86f58ba4b92d9a2df6aefdcba 100644
--- a/Modules/Table/tablemodule.cpp
+++ b/Modules/Table/tablemodule.cpp
@@ -1,12 +1,12 @@
 #include "tablemodule.h"
 #include "ui_tablemodule.h"
-#include "Modules/Utility/contextmenuseparator.h"
+#include "Components/ContextMenuSeparator/contextmenuseparator.h"
 #include "Core/modulemessagesbroker.h"
-#include "Modules/Utility/subscriptionspanel.h"
+#include "Components/SubscriptionsPanel/subscriptionspanel.h"
 #include <QInputDialog>
 #include <QDebug>
 
-TableModule::TableModule(QWidget *parent) : DefaultModule(parent), ui(new Ui::TableModule) {
+TableModule::TableModule(QWidget* parent) : DefaultModule(parent), ui(new Ui::TableModule) {
     ui->setupUi(this);
     defaultContextMenuSetup();
     onColumnNumberChanged(ui->column_counter->value());
@@ -18,7 +18,7 @@ TableModule::~TableModule() {
     //qDebug() << "TableModule >> Deleted";
 }
 
-QWidget *TableModule::toWidget() {
+QWidget* TableModule::toWidget() {
     return this;
 }
 
@@ -35,7 +35,7 @@ XmlObject TableModule::toXmlObject() {
     return obj;
 }
 
-void TableModule::fromXmlObject(const XmlObject & xmlObject) {
+void TableModule::fromXmlObject(const XmlObject& xmlObject) {
     if(xmlObject.getObjectName() == getName(ModuleId::TABLE)) {
 
         int column;
@@ -53,14 +53,14 @@ void TableModule::fromXmlObject(const XmlObject & xmlObject) {
 }
 
 void TableModule::onSubscribeClicked() {
-    SubscriptionsPanel *sPanel = new SubscriptionsPanel(&subscriptions);
+    SubscriptionsPanel* sPanel = new SubscriptionsPanel(&subscriptions);
     sPanel->setWindowTitle("Table Subscriptions");
     connect(sPanel, &SubscriptionsPanel::SubscriptionAdded, this, &TableModule::onSubscriptionAdded);
     connect(sPanel, &SubscriptionsPanel::SubscriptionRemoved, this, &TableModule::onSubscriptionRemoved);
     sPanel->show();
 }
 
-void TableModule::onSubscriptionAdded(const QString & subscription) {
+void TableModule::onSubscriptionAdded(const QString& subscription) {
     subscriptions.append(subscription);
     getCore()->getModuleMessagesBroker()->subscribe(subscription, this, [this](const ModuleMessage & msg) {
         onMsgReceived(msg);
@@ -68,13 +68,13 @@ void TableModule::onSubscriptionAdded(const QString & subscription) {
     updateVerticalHeaders(subscription);
 }
 
-void TableModule::onSubscriptionRemoved(const QString & subscription) {
+void TableModule::onSubscriptionRemoved(const QString& subscription) {
     subscriptions.removeOne(subscription);
     getCore()->getModuleMessagesBroker()->unsubscribe(subscription, this);
     removeRow(subscription);
 }
 
-void TableModule::removeRow(const QString & txt) {
+void TableModule::removeRow(const QString& txt) {
     int row = verticalHeaders.indexOf(txt);
     if(row >= 0 ) {
         verticalHeaders.removeAt(row);
@@ -82,15 +82,15 @@ void TableModule::removeRow(const QString & txt) {
     }
 }
 
-void TableModule::onMsgReceived(const ModuleMessage & msg) {
+void TableModule::onMsgReceived(const ModuleMessage& msg) {
     int row = updateVerticalHeaders(msg.originalTopic());
     int column = updateHorizontalHeaders(msg.timestamp().toString(horizontalHeaderDateFormat));
 
-    QTableWidgetItem *newItem = new QTableWidgetItem(msg.payload());
+    QTableWidgetItem* newItem = new QTableWidgetItem(msg.payload());
     ui->tableWidget->setItem(row, column, newItem);
 }
 
-int TableModule::updateVerticalHeaders(const QString & txt) {
+int TableModule::updateVerticalHeaders(const QString& txt) {
     int row = verticalHeaders.indexOf(txt);
     if(row >= 0) {
         return row;
@@ -98,13 +98,13 @@ int TableModule::updateVerticalHeaders(const QString & txt) {
         verticalHeaders.append(txt);
         row = verticalHeaders.count() - 1;
         ui->tableWidget->insertRow(row);
-        QTableWidgetItem *header = new QTableWidgetItem(txt);
+        QTableWidgetItem* header = new QTableWidgetItem(txt);
         ui->tableWidget->setVerticalHeaderItem(row, header);
         return row;
     }
 }
 
-int TableModule::updateHorizontalHeaders(const QString & txt) {
+int TableModule::updateHorizontalHeaders(const QString& txt) {
     int column = horizontalHeaders.indexOf(txt);
     if(column >= 0) {
         return column;
@@ -112,7 +112,7 @@ int TableModule::updateHorizontalHeaders(const QString & txt) {
         horizontalHeaders.insert(0, txt);
         column = 0;
         ui->tableWidget->insertColumn(column);
-        QTableWidgetItem *header = new QTableWidgetItem(txt);
+        QTableWidgetItem* header = new QTableWidgetItem(txt);
         ui->tableWidget->setHorizontalHeaderItem(column, header);
 
         // Siccome รจ stata inserita una colonna, viene rimossa l'ultima per mantenere il columnCount
diff --git a/Modules/Test/testmodule.cpp b/Modules/Test/testmodule.cpp
index 846e6810b61b3f5799e45d9fd8c8c3353211b674..195958cff4df0afa8821d561db9af1f09bb4a902 100644
--- a/Modules/Test/testmodule.cpp
+++ b/Modules/Test/testmodule.cpp
@@ -1,11 +1,11 @@
 #include "testmodule.h"
 #include "ui_testmodule.h"
 
-#include "Modules/Utility/contextmenuseparator.h"
+#include "Components/ContextMenuSeparator/contextmenuseparator.h"
 #include "Core/modulesmanager.h"
 #include "Core/modulemessagesbroker.h"
 
-TestModule::TestModule(QWidget *parent) : DefaultModule(parent), ui(new Ui::TestModule) {
+TestModule::TestModule(QWidget* parent) : DefaultModule(parent), ui(new Ui::TestModule) {
     ui->setupUi(this);
     defaultContextMenuSetup();
 
@@ -25,7 +25,7 @@ XmlObject TestModule::toXmlObject() {
     return XmlObject(getName(ModuleId::BROKERTEST));
 }
 
-void TestModule::fromXmlObject(const XmlObject &xmlObject) {
+void TestModule::fromXmlObject(const XmlObject& xmlObject) {
     Q_UNUSED(xmlObject);
 }
 
diff --git a/Modules/moduleslist.cpp b/Modules/moduleslist.cpp
index e0b169697fd68cc7c665f6682de5e14e1acd7e08..4364f37bd2d1e4d588a0b68da194bb42e092c31c 100644
--- a/Modules/moduleslist.cpp
+++ b/Modules/moduleslist.cpp
@@ -3,7 +3,7 @@
 // ____________________________________________________________________________________________
 
 #include "Modules/Empty/emptymodule.h"
-#include "Modules/Utility/modulespicker.h"
+#include "Components/ModulesPicker/modulespicker.h"
 #include "Modules/Splitter/splittermodule.h"
 #include "Modules/SkywardHub/skywardhubmodule.h"
 #include "Modules/CommandPad/commandpadmodule.h"
@@ -214,7 +214,7 @@ bool ModulesList::containsId(ModuleId id) {
     return false;
 }
 
-void ModulesList::addModuleInfo(const ModuleInfo &info) {
+void ModulesList::addModuleInfo(const ModuleInfo& info) {
     modulesInfo.append(info);
 }
 
@@ -236,7 +236,7 @@ std::function<Module *()> ModulesList::getFactory(ModuleId id) const {
     };
 }
 
-std::function<Module *()> ModulesList::findFactoryByModuleName(const QString &name) {
+std::function<Module *()> ModulesList::findFactoryByModuleName(const QString& name) {
     for(int i = 0; i < modulesInfo.count(); i++) {
         if(modulesInfo[i].getModuleName() == name)
             return modulesInfo[i].getFactory();
diff --git a/SkywardHub.pro b/SkywardHub.pro
index 3ba69cc8812827872fcefbdeb76bd32ed0fcaa94..67c64fbf1a37df4d7baae552e39396ae459e425a 100644
--- a/SkywardHub.pro
+++ b/SkywardHub.pro
@@ -10,6 +10,11 @@ CONFIG += c++11
 
 
 SOURCES += \
+    Components/ContextMenuSeparator/contextmenuseparator.cpp \
+    Components/ModulesPicker/modulespicker.cpp \
+    Components/SaveConfigurationDialog/saveconfigurationdialog.cpp \
+    Components/SubscriptionsPanel/subscriptionspanel.cpp \
+    Components/ToggleButton/togglebutton.cpp \
     Core/module.cpp \
     Core/moduleeventshandler.cpp \
     Core/modulemessage.cpp \
@@ -49,11 +54,6 @@ SOURCES += \
     Modules/TimerController/timercontrollermodule.cpp \
     Modules/TreeViewer/treevieweritem.cpp \
     Modules/TreeViewer/treeviewermodule.cpp \
-    Modules/Utility/contextmenuseparator.cpp \
-    Modules/Utility/modulespicker.cpp \
-    Modules/Utility/saveconfigurationdialog.cpp \
-    Modules/Utility/subscriptionspanel.cpp \
-    Modules/Utility/togglebutton.cpp \
     Modules/ValuesConverterViewer/valueelement.cpp \
     Modules/ValuesConverterViewer/valuesconverterviewermodule.cpp \
     Modules/ValuesConverterViewer/valuesviewerconfigpanel.cpp \
@@ -63,6 +63,11 @@ SOURCES += \
     main.cpp
 
 HEADERS += \
+    Components/ContextMenuSeparator/contextmenuseparator.h \
+    Components/ModulesPicker/modulespicker.h \
+    Components/SaveConfigurationDialog/saveconfigurationdialog.h \
+    Components/SubscriptionsPanel/subscriptionspanel.h \
+    Components/ToggleButton/togglebutton.h \
     Core/module.h \
     Core/moduleeventshandler.h \
     Core/modulemessage.h \
@@ -104,11 +109,6 @@ HEADERS += \
     Modules/TimerController/timercontrollermodule.h \
     Modules/TreeViewer/treevieweritem.h \
     Modules/TreeViewer/treeviewermodule.h \
-    Modules/Utility/contextmenuseparator.h \
-    Modules/Utility/modulespicker.h \
-    Modules/Utility/saveconfigurationdialog.h \
-    Modules/Utility/subscriptionspanel.h \
-    Modules/Utility/togglebutton.h \
     Modules/ValuesConverterViewer/valueelement.h \
     Modules/ValuesConverterViewer/valuesconverterviewermodule.h \
     Modules/ValuesConverterViewer/valuesviewerconfigpanel.h \
@@ -117,6 +117,9 @@ HEADERS += \
     Modules/skywardhubstrings.h
 
 FORMS += \
+    Components/ModulesPicker/modulespicker.ui \
+    Components/SaveConfigurationDialog/saveconfigurationdialog.ui \
+    Components/SubscriptionsPanel/subscriptionspanel.ui \
     Modules/CommandPad/commandpadmodule.ui \
     Modules/CommandPad/telemetryrequestmodule.ui \
     Modules/Empty/emptymodule.ui \
@@ -140,9 +143,6 @@ FORMS += \
     Modules/Test/testmodule.ui \
     Modules/TimerController/timercontrollermodule.ui \
     Modules/TreeViewer/treeviewermodule.ui \
-    Modules/Utility/modulespicker.ui \
-    Modules/Utility/saveconfigurationdialog.ui \
-    Modules/Utility/subscriptionspanel.ui \
     Modules/ValuesConverterViewer/valuesconverterviewermodule.ui \
     Modules/ValuesConverterViewer/valuesviewerconfigpanel.ui