diff --git a/silecs-communication-cpp/src/silecs-communication/interface/communication/CNVConnection.cpp b/silecs-communication-cpp/src/silecs-communication/interface/communication/CNVConnection.cpp
index f807d5d77d85f9f2c03460cb54e71afd210770f2..be6ca900efc5bc5b7f19801443dccdeafaed77e6 100644
--- a/silecs-communication-cpp/src/silecs-communication/interface/communication/CNVConnection.cpp
+++ b/silecs-communication-cpp/src/silecs-communication/interface/communication/CNVConnection.cpp
@@ -24,6 +24,7 @@
 #include <silecs-communication/interface/utility/SilecsException.h>
 #include <silecs-communication/interface/utility/SilecsLog.h>
 #include <silecs-communication/interface/utility/StringUtilities.h>
+#include <silecs-communication/protocol/core/silecs.h>
 
 namespace Silecs
 {
diff --git a/silecs-communication-cpp/src/silecs-communication/interface/communication/CNVConnection.h b/silecs-communication-cpp/src/silecs-communication/interface/communication/CNVConnection.h
index c864b306e58ffc59f8ef7d9d56e8ed07b91591c7..e161ceafe14a5bfdd54e408e64cfa23886158f51 100644
--- a/silecs-communication-cpp/src/silecs-communication/interface/communication/CNVConnection.h
+++ b/silecs-communication-cpp/src/silecs-communication/interface/communication/CNVConnection.h
@@ -19,8 +19,6 @@
 
 #include <silecs-communication/interface/communication/SilecsConnection.h>
 
-#include <silecs-communication/protocol/core/silecs.h>
-
 #include <iostream>
 #include <string.h>
 
diff --git a/silecs-communication-cpp/src/silecs-communication/interface/communication/MBConnection.cpp b/silecs-communication-cpp/src/silecs-communication/interface/communication/MBConnection.cpp
index 1711dfee6a0ef9aad69bd2624ce42bbf4e6cf68a..c27259e8f8b1bc3ceafc8657b95744de0cab61c6 100644
--- a/silecs-communication-cpp/src/silecs-communication/interface/communication/MBConnection.cpp
+++ b/silecs-communication-cpp/src/silecs-communication/interface/communication/MBConnection.cpp
@@ -19,6 +19,7 @@
 #include <silecs-communication/interface/equipment/SilecsPLC.h>
 #include <silecs-communication/interface/communication/MBConnection.h>
 #include <silecs-communication/interface/utility/SilecsException.h>
+#include <silecs-communication/protocol/modbus/iemdb.h>
 
 namespace Silecs
 {
diff --git a/silecs-communication-cpp/src/silecs-communication/interface/communication/MBConnection.h b/silecs-communication-cpp/src/silecs-communication/interface/communication/MBConnection.h
index 9ea7f9cf8bebe1ea075d11259121a2cf0112bd8e..fd67d2db413243cee4117f8ec89c12f5dc7a9936 100644
--- a/silecs-communication-cpp/src/silecs-communication/interface/communication/MBConnection.h
+++ b/silecs-communication-cpp/src/silecs-communication/interface/communication/MBConnection.h
@@ -17,7 +17,7 @@
 #define _MB_CONNECTION_H_
 
 #include <silecs-communication/interface/communication/SilecsConnection.h>
-#include <silecs-communication/protocol/core/silecs.h>
+#include <modbus.h>
 
 namespace Silecs
 {
diff --git a/silecs-communication-cpp/src/silecs-communication/interface/communication/SNAP7Connection.cpp b/silecs-communication-cpp/src/silecs-communication/interface/communication/SNAP7Connection.cpp
index 277098cd2604f7f7c5c105161f98e26f75dce4d9..0981707550640a9da52db0ffa36b71705723b930 100644
--- a/silecs-communication-cpp/src/silecs-communication/interface/communication/SNAP7Connection.cpp
+++ b/silecs-communication-cpp/src/silecs-communication/interface/communication/SNAP7Connection.cpp
@@ -19,6 +19,7 @@
 #include <silecs-communication/interface/equipment/SilecsPLC.h>
 #include <silecs-communication/interface/communication/SNAP7Connection.h>
 #include <silecs-communication/interface/utility/SilecsException.h>
+#include <silecs-communication/protocol/core/silecs.h>
 
 namespace Silecs
 {
diff --git a/silecs-communication-cpp/src/silecs-communication/interface/communication/SNAP7Connection.h b/silecs-communication-cpp/src/silecs-communication/interface/communication/SNAP7Connection.h
index 9ff8ba453eee21629f68468711d06492af072c22..6bb7ee1f74900b50dd4275b1959c35b6c1302990 100644
--- a/silecs-communication-cpp/src/silecs-communication/interface/communication/SNAP7Connection.h
+++ b/silecs-communication-cpp/src/silecs-communication/interface/communication/SNAP7Connection.h
@@ -16,7 +16,6 @@
 #ifndef _SNAP7_CONNECTION_H_
 #define _SNAP7_CONNECTION_H_
 
-#include <silecs-communication/protocol/core/silecs.h>
 #include <silecs-communication/interface/communication/SilecsConnection.h>
 #include <snap7.h>
 
diff --git a/silecs-communication-cpp/src/silecs-communication/interface/communication/SilecsConnection.h b/silecs-communication-cpp/src/silecs-communication/interface/communication/SilecsConnection.h
index 3c6d04ccb9ec92b839f3c528cdc2f012c7539d71..b3e7687a86f3e2e95b6f5e0bfd6574b9001e4f46 100644
--- a/silecs-communication-cpp/src/silecs-communication/interface/communication/SilecsConnection.h
+++ b/silecs-communication-cpp/src/silecs-communication/interface/communication/SilecsConnection.h
@@ -19,7 +19,6 @@
 #include <silecs-communication/interface/core/SilecsService.h>
 #include <silecs-communication/interface/utility/Mutex.h>
 #include <silecs-communication/interface/utility/TimeStamp.h>
-#include <silecs-communication/protocol/core/silecs.h>
 
 namespace Silecs
 {
diff --git a/silecs-communication-cpp/src/silecs-communication/interface/core/PLCRecvAction.cpp b/silecs-communication-cpp/src/silecs-communication/interface/core/PLCRecvAction.cpp
index 1171ae927fd4971db96f2851703b6951a95b5b7b..3bf18c7efb1e5399165c3dc3d9d7f6c7531fa5ab 100644
--- a/silecs-communication-cpp/src/silecs-communication/interface/core/PLCRecvAction.cpp
+++ b/silecs-communication-cpp/src/silecs-communication/interface/core/PLCRecvAction.cpp
@@ -23,6 +23,7 @@
 #include <silecs-communication/interface/equipment/PLCBlock.h>
 #include <silecs-communication/interface/core/Context.h>
 #include <silecs-communication/interface/utility/SilecsLog.h>
+#include <silecs-communication/protocol/core/silecs.h>
 
 namespace Silecs
 {
diff --git a/silecs-communication-cpp/src/silecs-communication/interface/core/PLCSendAction.cpp b/silecs-communication-cpp/src/silecs-communication/interface/core/PLCSendAction.cpp
index ff07954f5a7549faad35d50c18da2745c0533fac..2c9a9f93807fed82a24920dc2f931c7afd6a6650 100644
--- a/silecs-communication-cpp/src/silecs-communication/interface/core/PLCSendAction.cpp
+++ b/silecs-communication-cpp/src/silecs-communication/interface/core/PLCSendAction.cpp
@@ -24,6 +24,7 @@
 #include <silecs-communication/interface/equipment/PLCBlock.h>
 #include <silecs-communication/interface/core/Context.h>
 #include <silecs-communication/interface/utility/SilecsLog.h>
+#include <silecs-communication/protocol/core/silecs.h>
 
 namespace Silecs
 {
diff --git a/silecs-communication-cpp/src/silecs-communication/interface/equipment/CNVRegister.h b/silecs-communication-cpp/src/silecs-communication/interface/equipment/CNVRegister.h
index 5e8df44206d8dd049a4f9e14711974d629e7fbc4..d17a54d87811e0eab5ec95a06d9075b16ce2441b 100644
--- a/silecs-communication-cpp/src/silecs-communication/interface/equipment/CNVRegister.h
+++ b/silecs-communication-cpp/src/silecs-communication/interface/equipment/CNVRegister.h
@@ -25,7 +25,6 @@
 #include <silecs-communication/interface/utility/SilecsException.h>
 #include <silecs-communication/interface/utility/SilecsLog.h>
 #include <silecs-communication/interface/utility/StringUtilities.h>
-#include <silecs-communication/protocol/core/silecs.h>
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/silecs-communication-cpp/src/silecs-communication/interface/equipment/PLCRegister.cpp b/silecs-communication-cpp/src/silecs-communication/interface/equipment/PLCRegister.cpp
index e94d7956bd781dbe3c1d8e3b57d5c46811b31db8..de398657404ac67a0b28cffb20872cb84aa82e8c 100644
--- a/silecs-communication-cpp/src/silecs-communication/interface/equipment/PLCRegister.cpp
+++ b/silecs-communication-cpp/src/silecs-communication/interface/equipment/PLCRegister.cpp
@@ -14,6 +14,8 @@
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "PLCRegister.h"
+#include <silecs-communication/protocol/core/silecs.h>
+#include <silecs-communication/protocol/modbus/iemdb.h>
 
 namespace Silecs
 {
diff --git a/silecs-communication-cpp/src/silecs-communication/interface/equipment/PLCRegister.h b/silecs-communication-cpp/src/silecs-communication/interface/equipment/PLCRegister.h
index 86dc939d98da0740750da785727f376cde7476a3..ab2d52f3791224346493556c2a097321d6cf5fed 100644
--- a/silecs-communication-cpp/src/silecs-communication/interface/equipment/PLCRegister.h
+++ b/silecs-communication-cpp/src/silecs-communication/interface/equipment/PLCRegister.h
@@ -24,7 +24,6 @@
 #include <silecs-communication/interface/utility/SilecsException.h>
 #include <silecs-communication/interface/utility/SilecsLog.h>
 #include <silecs-communication/interface/utility/StringUtilities.h>
-#include <silecs-communication/protocol/core/silecs.h>
 
 #ifdef __x86_64__
 #include <endian.h>
diff --git a/silecs-communication-cpp/src/silecs-communication/interface/equipment/SilecsCluster.cpp b/silecs-communication-cpp/src/silecs-communication/interface/equipment/SilecsCluster.cpp
index fee499ed166a0ab87f5ff5658de31865ed0c6cda..fab5864b7254f278c40e4665ef9d4a623a011ad5 100644
--- a/silecs-communication-cpp/src/silecs-communication/interface/equipment/SilecsCluster.cpp
+++ b/silecs-communication-cpp/src/silecs-communication/interface/equipment/SilecsCluster.cpp
@@ -19,7 +19,8 @@
 #include <silecs-communication/interface/equipment/SilecsBlock.h>
 #include <silecs-communication/interface/utility/SilecsException.h>
 #include <silecs-communication/interface/utility/SilecsLog.h>
-#include <silecs-communication/protocol/core/silecs.h>
+#include <arpa/inet.h>
+#include <netdb.h>
 
 namespace Silecs
 {
diff --git a/silecs-communication-cpp/src/silecs-communication/protocol/core/silecs.h b/silecs-communication-cpp/src/silecs-communication/protocol/core/silecs.h
index 2edf5b1665b94f81189b7c03384814c6d9fdd14c..34ecce74045c0c26a8b2caac59966b23f4049922 100644
--- a/silecs-communication-cpp/src/silecs-communication/protocol/core/silecs.h
+++ b/silecs-communication-cpp/src/silecs-communication/protocol/core/silecs.h
@@ -38,11 +38,6 @@
 /* ---------------------------------------------------------*/
 #include "ietype.h"
 
-/* ---------------------------------------------------------*/
-/* PROTOTYPE DEFINITIONS                                    */
-/* ---------------------------------------------------------*/
-#include <silecs-communication/protocol/modbus/iemdb.h>
-
 /*----------------------------------------------------------*/
 /* Time funtion
  * IeRfcSetTime: Convert time_t epoch date to PLC _DT format