diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000000000000000000000000000000000000..4b883448e5417e7542ac8ed5efa68f4c094b6009
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,4 @@
+{
+    "C_Cpp.default.configurationProvider": "vector-of-bool.cmake-tools",
+    "C_Cpp.configurationWarnings": "Disabled"
+}
\ No newline at end of file
diff --git a/Src/CMakeLists.txt b/Src/CMakeLists.txt
index df3aecfb03ec2332b7de2562facc0dbd54df97d3..40dfe2a8cf02626eb377f7814e7a8f3ae7d26dc1 100644
--- a/Src/CMakeLists.txt
+++ b/Src/CMakeLists.txt
@@ -25,6 +25,7 @@ target_compile_definitions(${TN} PRIVATE BT_INTERFACES_EXPORT)
 
 target_sources(${TN}
 PRIVATE
+    "${CMAKE_CURRENT_LIST_DIR}/Interfaces/ENUMS.cpp"
     "${CMAKE_CURRENT_LIST_DIR}/Interfaces/IBioTrackerContext.cpp"
     "${CMAKE_CURRENT_LIST_DIR}/Interfaces/IBioTrackerPlugin.cpp"
     "${CMAKE_CURRENT_LIST_DIR}/Interfaces/IController/IController.cpp"
diff --git a/Src/Interfaces/ENUMS.cpp b/Src/Interfaces/ENUMS.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..4f333301c3f974f6210da8573a6a1a3c3229bad3
--- /dev/null
+++ b/Src/Interfaces/ENUMS.cpp
@@ -0,0 +1 @@
+#include "ENUMS.h"
\ No newline at end of file
diff --git a/Src/Interfaces/ENUMS.h b/Src/Interfaces/ENUMS.h
index 26acd1a42cdf946dd8b6305e203e2f9e72a6bddf..bafbf8f9341cd4cad804bdbe0d553aff99cc1c9e 100644
--- a/Src/Interfaces/ENUMS.h
+++ b/Src/Interfaces/ENUMS.h
@@ -2,14 +2,15 @@
 #define ENUMS_H
 
 #include <QObject>
+#include <Interfaces/API.h>
 
-class ENUMS : public QObject
+class BT_INTERFACES_API ENUMS : public QObject
 {
     Q_OBJECT
 public:
 
 
-    enum CONTROLLERTYPE {
+    enum CONTROLLERTYPE : unsigned int{
 		NO_CTR, 
 		MAINWINDOW, 
 		TEXTUREOBJECT,
@@ -26,9 +27,9 @@ public:
 		COMMANDS,
 		NOTIFICATION
 	};
-
     Q_ENUM(CONTROLLERTYPE)
-	enum COREPERMISSIONS { 
+
+	enum COREPERMISSIONS : unsigned int{ 
 		COMPONENTVIEW, 
 		COMPONENTMOVE,
 		COMPONENTREMOVE, 
@@ -36,10 +37,7 @@ public:
 		COMPONENTADD,
 		COMPONENTROTATE
 	};
-	Q_ENUM(COREPERMISSIONS)
-
-    explicit ENUMS(QObject *parent = 0);
-	
+	Q_ENUM(COREPERMISSIONS)	
 };
 
 #endif // ENUMS_H
diff --git a/Src/Interfaces/IBioTrackerPlugin.h b/Src/Interfaces/IBioTrackerPlugin.h
index 10ad35a57bdb473c2615210194f14d98cd89654d..43d02888c7d342b57a90ed735a9fd3506786fe51 100644
--- a/Src/Interfaces/IBioTrackerPlugin.h
+++ b/Src/Interfaces/IBioTrackerPlugin.h
@@ -11,6 +11,7 @@
 #include "memory"
 #include <Interfaces/API.h>
 
+
 class BT_INTERFACES_API IBioTrackerPlugin : public QObject
 {
     Q_OBJECT
diff --git a/Src/Interfaces/IModel/IModelTrackedComponentFactory.h b/Src/Interfaces/IModel/IModelTrackedComponentFactory.h
index eab73625acce9b608dcbbb896ed6b630a8edcdb2..0df758cd6413b2cd9a86653f8d1a741b5215047e 100644
--- a/Src/Interfaces/IModel/IModelTrackedComponentFactory.h
+++ b/Src/Interfaces/IModel/IModelTrackedComponentFactory.h
@@ -1,8 +1,8 @@
 #ifndef ITRACKEDCOMPONENTFACTORY_H
 #define ITRACKEDCOMPONENTFACTORY_H
 
-#include "Interfaces/IModel/IModel.h"
-#include "Interfaces/IModel/IModelTrackedComponent.h"
+#include "IModel.h"
+#include "IModelTrackedComponent.h"
 
 class BT_INTERFACES_API IModelTrackedComponentFactory : public IModel
 {