diff --git a/MAC/APL/StationCU/configure.in b/MAC/APL/StationCU/configure.in
index fc9ccd1b628c62bc97300b55457a1e29e93a20cb..211578d0b5328d7c4da826ef8e4b6809d4c62439 100644
--- a/MAC/APL/StationCU/configure.in
+++ b/MAC/APL/StationCU/configure.in
@@ -58,8 +58,9 @@ lofar_PVSS(1)
 lofar_BLITZ
 lofar_INTERNAL(LCS/Common, common,, 1, Common/LofarTypes.h,,)
 lofar_INTERNAL(LCS/ACC/APS, aps,, 1, APS/ParameterSet.h,,)
+lofar_INTERNAL(ApplCommon, applcommon,, 1, ApplCommon/Observation.h,,)
 dnl lofar_INTERNAL(SAS/OTDB, otdb,, 1, OTDB/OTDBconnection.h,,)
-lofar_INTERNAL(MAC/GCF/GCFCommon, gcfcommon,, 1, GCF/GCF_Defines.h,,)
+lofar_INTERNAL(MAC/MACIO, MACIO, , 1, MACIO/MACServiceInfo.h,,)
 lofar_INTERNAL(MAC/GCF/TM, gcftm,, 1, GCF/TM/GCF_Task.h,,)
 lofar_INTERNAL(MAC/GCF/PVSS, gcfpvss,, 1, GCF/PVSS/PVSSservice.h,,)
 lofar_INTERNAL(MAC/GCF/RTDB, rtdb,, 1, GCF/RTDB/RTDB_PropertySet.h,,)
diff --git a/MAC/APL/StationCU/src/BeamControl/BeamControl.cc b/MAC/APL/StationCU/src/BeamControl/BeamControl.cc
index 7def3a44e4df22356875973d2cf421e32948d1f5..487d1bdb4e0d94f23988789abd33a12affa82621 100644
--- a/MAC/APL/StationCU/src/BeamControl/BeamControl.cc
+++ b/MAC/APL/StationCU/src/BeamControl/BeamControl.cc
@@ -21,17 +21,16 @@
 //#  $Id$
 #include <lofar_config.h>
 #include <Common/LofarLogger.h>
-
 #include <Common/StreamUtil.h>
+#include <ApplCommon/Observation.h>
+
 #include <APS/ParameterSet.h>
 #include <GCF/PVSS/GCF_PVTypes.h>
-#include <GCF/Utils.h>
-#include <GCF/GCF_ServiceInfo.h>
+#include <Common/SystemUtil.h>
+#include <MACIO/MACServiceInfo.h>
 #include <APL/APLCommon/APL_Defines.h>
-#include <APL/APLCommon/APLUtilities.h>
 #include <APL/APLCommon/Controller_Protocol.ph>
 #include <APL/APLCommon/StationInfo.h>
-#include <APL/APLCommon/Observation.h>
 #include <APL/BS_Protocol/BS_Protocol.ph>
 #include <GCF/RTDB/DP_Protocol.ph>
 #include <signal.h>
@@ -93,9 +92,9 @@ BeamControl::BeamControl(const string&	cntlrName) :
 	ASSERTSTR(itsBeamServer, "Cannot allocate TCPport to BeamServer");
 
 	// for debugging purposes
-	GCF::TM::registerProtocol (CONTROLLER_PROTOCOL, CONTROLLER_PROTOCOL_STRINGS);
-	GCF::TM::registerProtocol (DP_PROTOCOL, 		DP_PROTOCOL_STRINGS);
-	GCF::TM::registerProtocol (BS_PROTOCOL, 		BS_PROTOCOL_STRINGS);
+	registerProtocol (CONTROLLER_PROTOCOL, CONTROLLER_PROTOCOL_STRINGS);
+	registerProtocol (DP_PROTOCOL, 		DP_PROTOCOL_STRINGS);
+	registerProtocol (BS_PROTOCOL, 		BS_PROTOCOL_STRINGS);
 
 	setState(CTState::CREATED);
 }
diff --git a/MAC/APL/StationCU/src/BeamControl/BeamControl.h b/MAC/APL/StationCU/src/BeamControl/BeamControl.h
index 41a02ffb1881142cf64f94588557c40734af05ec..fbe8f3287cdcd9e8769188e18611f13772f0bd46 100644
--- a/MAC/APL/StationCU/src/BeamControl/BeamControl.h
+++ b/MAC/APL/StationCU/src/BeamControl/BeamControl.h
@@ -32,11 +32,8 @@
 #include <APS/ParameterSet.h>
 
 //# GCF Includes
-#include <GCF/TM/GCF_Port.h>
-#include <GCF/TM/GCF_ITCPort.h>
-#include <GCF/TM/GCF_TimerPort.h>
-#include <GCF/TM/GCF_Task.h>
-#include <GCF/TM/GCF_Event.h>
+#include <MACIO/GCF_Event.h>
+#include <GCF/TM/GCF_Control.h>
 #include <GCF/RTDB/RTDB_PropertySet.h>
 
 //# local includes
@@ -48,10 +45,10 @@
 namespace LOFAR {
 	namespace StationCU {
 
+using	MACIO::GCFEvent;
 using	GCF::TM::GCFTimerPort;
 using	GCF::TM::GCFITCPort;
 using	GCF::TM::GCFPort;
-using	GCF::TM::GCFEvent;
 using	GCF::TM::GCFPortInterface;
 using	GCF::TM::GCFTask;
 using	GCF::RTDB::RTDBPropertySet;
diff --git a/MAC/APL/StationCU/src/CalibrationControl/CalibrationControl.cc b/MAC/APL/StationCU/src/CalibrationControl/CalibrationControl.cc
index 3139faafdff6cc00a2c5cf4746008f1bfd257ca8..f5e0adbe4c1c1015e6e7a43f1cb009c8a3c0d6af 100644
--- a/MAC/APL/StationCU/src/CalibrationControl/CalibrationControl.cc
+++ b/MAC/APL/StationCU/src/CalibrationControl/CalibrationControl.cc
@@ -24,8 +24,7 @@
 #include <Common/lofar_datetime.h>
 
 #include <GCF/PVSS/GCF_PVTypes.h>
-#include <GCF/GCF_ServiceInfo.h>
-#include <APL/APLCommon/APLUtilities.h>
+#include <MACIO/MACServiceInfo.h>
 #include <APL/APLCommon/Controller_Protocol.ph>
 #include <APL/APLCommon/StationInfo.h>
 #include <APL/CAL_Protocol/CAL_Protocol.ph>
@@ -88,9 +87,9 @@ CalibrationControl::CalibrationControl(const string&	cntlrName) :
 	ASSERTSTR(itsCalServer, "Cannot allocate TCPport to CalServer");
 
 	// for debugging purposes
-	GCF::TM::registerProtocol (CONTROLLER_PROTOCOL, CONTROLLER_PROTOCOL_STRINGS);
-	GCF::TM::registerProtocol (DP_PROTOCOL, 		DP_PROTOCOL_STRINGS);
-	GCF::TM::registerProtocol (CAL_PROTOCOL,		CAL_PROTOCOL_STRINGS);
+	registerProtocol (CONTROLLER_PROTOCOL, CONTROLLER_PROTOCOL_STRINGS);
+	registerProtocol (DP_PROTOCOL, 		DP_PROTOCOL_STRINGS);
+	registerProtocol (CAL_PROTOCOL,		CAL_PROTOCOL_STRINGS);
 
 	setState(CTState::CREATED);
 }
@@ -646,7 +645,7 @@ bool	CalibrationControl::startCalibration()
 	itsPropertySet->setValue(PN_CC_FILTER,		GCFPVString(itsObsPar.filter));
 	itsPropertySet->setValue(PN_CC_NYQUISTZONE,	GCFPVInteger(itsObsPar.nyquistZone));
 	itsPropertySet->setValue(PN_CC_RCUS,		GCFPVString(
-										APLUtilities::compactedArrayString(globalParameterSet()->
+										compactedArrayString(globalParameterSet()->
 										getString("Observation.receiverList"))));
 	return (true);
 }
diff --git a/MAC/APL/StationCU/src/CalibrationControl/CalibrationControl.h b/MAC/APL/StationCU/src/CalibrationControl/CalibrationControl.h
index 9b80dd91bee8fc2ba3663bd4074bfa5d0eacd44e..84a775422c69cfb396f9a14125ca6ae312971d72 100644
--- a/MAC/APL/StationCU/src/CalibrationControl/CalibrationControl.h
+++ b/MAC/APL/StationCU/src/CalibrationControl/CalibrationControl.h
@@ -23,29 +23,29 @@
 #ifndef CALIBRATIONCONTROL_H
 #define CALIBRATIONCONTROL_H
 
+//# Common Includes
+#include <Common/lofar_string.h>
+#include <ApplCommon/Observation.h>
+
 //# GCF Includes
-#include <GCF/TM/GCF_Port.h>
-#include <GCF/TM/GCF_ITCPort.h>
-#include <GCF/TM/GCF_TimerPort.h>
+#include <MACIO/GCF_Event.h>
+#include <GCF/TM/GCF_Control.h>
 #include <GCF/RTDB/RTDB_PropertySet.h>
 
 //# local includes
 #include <APL/APLCommon/ParentControl.h>
-#include <APL/APLCommon/Observation.h>
 #include <APL/APLCommon/CTState.h>
 
-//# Common Includes
-#include <Common/lofar_string.h>
 
 // forward declaration
 
 namespace LOFAR {
 	namespace StationCU {
 
+using	MACIO::GCFEvent;
 using	GCF::TM::GCFTimerPort;
 using	GCF::TM::GCFITCPort;
 using	GCF::TM::GCFPort;
-using	GCF::TM::GCFEvent;
 using	GCF::TM::GCFPortInterface;
 using	GCF::RTDB::RTDBPropertySet;
 using	APLCommon::ParentControl;
@@ -102,7 +102,7 @@ private:
 	// ParameterSet variables
 	string					itsTreePrefix;
 	uint32					itsInstanceNr;
-	APLCommon::Observation	itsObsPar;
+	Observation				itsObsPar;
 };
 
   };//StationCU
diff --git a/MAC/APL/StationCU/src/CalibrationControl/CalibrationControlDefines.h b/MAC/APL/StationCU/src/CalibrationControl/CalibrationControlDefines.h
index 2ec790471ba0a951d8e66ae93d3ad95ddb6e8896..b197e73f8ad96a31aad1379a0f966455e13e2e99 100644
--- a/MAC/APL/StationCU/src/CalibrationControl/CalibrationControlDefines.h
+++ b/MAC/APL/StationCU/src/CalibrationControl/CalibrationControlDefines.h
@@ -31,7 +31,7 @@ namespace LOFAR {
 #define PSN_CAL_CTRL				"LOFAR_ObsSW_@observation@_CalCtrl"
 #define PST_CAL_CTRL				"CalCtrl"
 #define PN_CC_CONNECTED				"connected"
-#define PN_CC_BEAMNAMES				"beamnames"
+#define PN_CC_BEAMNAMES				"beamNames"
 #define PN_CC_ANTENNAARRAY			"antennaArray"
 #define PN_CC_FILTER				"filter"
 #define PN_CC_NYQUISTZONE			"nyquistzone"
diff --git a/MAC/APL/StationCU/src/DigitalBoardControl/DigitalBoardControl.cc b/MAC/APL/StationCU/src/DigitalBoardControl/DigitalBoardControl.cc
index 551b7c64e8a8c99b53e402398a9bd0c0cbddd7ee..ae63c111941be3b6f11595dc889a806ddbd30f35 100644
--- a/MAC/APL/StationCU/src/DigitalBoardControl/DigitalBoardControl.cc
+++ b/MAC/APL/StationCU/src/DigitalBoardControl/DigitalBoardControl.cc
@@ -23,8 +23,8 @@
 #include <Common/LofarLogger.h>
 
 #include <APS/ParameterSet.h>
-#include <GCF/Utils.h>
-#include <GCF/GCF_ServiceInfo.h>
+#include <Common/SystemUtil.h>
+#include <MACIO/MACServiceInfo.h>
 #include <GCF/PVSS/GCF_PVTypes.h>
 #include <APL/APLCommon/APL_Defines.h>
 #include <APL/APLCommon/Controller_Protocol.ph>
@@ -90,9 +90,9 @@ itsClock = globalParameterSet()->getUint32(itsTreePrefix + "sampleClock");
 	itsParentPort->open();		// will result in F_CONNECTED
 
 	// for debugging purposes
-	GCF::TM::registerProtocol (CONTROLLER_PROTOCOL, CONTROLLER_PROTOCOL_STRINGS);
-	GCF::TM::registerProtocol (DP_PROTOCOL, 		DP_PROTOCOL_STRINGS);
-	GCF::TM::registerProtocol (RSP_PROTOCOL, 	    RSP_PROTOCOL_STRINGS);
+	registerProtocol (CONTROLLER_PROTOCOL, CONTROLLER_PROTOCOL_STRINGS);
+	registerProtocol (DP_PROTOCOL, 		DP_PROTOCOL_STRINGS);
+	registerProtocol (RSP_PROTOCOL, 	    RSP_PROTOCOL_STRINGS);
 }
 
 
diff --git a/MAC/APL/StationCU/src/DigitalBoardControl/DigitalBoardControl.h b/MAC/APL/StationCU/src/DigitalBoardControl/DigitalBoardControl.h
index f62c9a5b67cad9eeb05322b680eef6fc78273032..4bbcb43ea5a11a198e604c7b74b5c268f7ccd3b5 100644
--- a/MAC/APL/StationCU/src/DigitalBoardControl/DigitalBoardControl.h
+++ b/MAC/APL/StationCU/src/DigitalBoardControl/DigitalBoardControl.h
@@ -31,11 +31,8 @@
 #include <APS/ParameterSet.h>
 
 //# GCF Includes
-#include <GCF/TM/GCF_Port.h>
-#include <GCF/TM/GCF_ITCPort.h>
-#include <GCF/TM/GCF_TimerPort.h>
-#include <GCF/TM/GCF_Task.h>
-#include <GCF/TM/GCF_Event.h>
+#include <MACIO/GCF_Event.h>
+#include <GCF/TM/GCF_Control.h>
 #include <GCF/RTDB/RTDB_PropertySet.h>
 
 //# local includes
@@ -47,10 +44,10 @@
 namespace LOFAR {
 	namespace StationCU {
 
+using	MACIO::GCFEvent;
 using	GCF::TM::GCFTimerPort;
 using	GCF::TM::GCFITCPort;
 using	GCF::TM::GCFPort;
-using	GCF::TM::GCFEvent;
 using	GCF::TM::GCFPortInterface;
 using	GCF::TM::GCFTask;
 using	GCF::RTDB::RTDBPropertySet;
diff --git a/MAC/APL/StationCU/src/HardwareMonitor/HardwareMonitor.cc b/MAC/APL/StationCU/src/HardwareMonitor/HardwareMonitor.cc
index 7340fd4720fa44e44050021b4e713fd831d0c39c..7c445fc706af61aeee21f846c4403cac69bea8ef 100644
--- a/MAC/APL/StationCU/src/HardwareMonitor/HardwareMonitor.cc
+++ b/MAC/APL/StationCU/src/HardwareMonitor/HardwareMonitor.cc
@@ -23,7 +23,7 @@
 #include <Common/LofarLogger.h>
 
 #include <GCF/PVSS/GCF_PVTypes.h>
-#include <GCF/GCF_ServiceInfo.h>
+#include <MACIO/MACServiceInfo.h>
 #include <APL/APLCommon/ControllerDefines.h>
 #include <APL/RSP_Protocol/RSP_Protocol.ph>
 #include <GCF/RTDB/DP_Protocol.ph>
diff --git a/MAC/APL/StationCU/src/HardwareMonitor/HardwareMonitor.h b/MAC/APL/StationCU/src/HardwareMonitor/HardwareMonitor.h
index 0f35af3998efc925b9b550ca0639d19c92fd0898..1ddf6719f004b90ce2e659b9056088b2fad0e789 100644
--- a/MAC/APL/StationCU/src/HardwareMonitor/HardwareMonitor.h
+++ b/MAC/APL/StationCU/src/HardwareMonitor/HardwareMonitor.h
@@ -28,20 +28,17 @@
 #include <Common/lofar_vector.h>
 
 //# GCF Includes
+#include <GCF/TM/GCF_Control.h>
 #include <GCF/RTDB/RTDB_PropertySet.h>
-#include <GCF/TM/GCF_TCPPort.h>
-#include <GCF/TM/GCF_TimerPort.h>
-#include <GCF/TM/GCF_Task.h>
-#include <GCF/TM/GCF_Event.h>
 
 // forward declaration
 
 namespace LOFAR {
 	namespace StationCU {
 
+using	MACIO::GCFEvent;
 using	GCF::TM::GCFTimerPort;
 using	GCF::TM::GCFTCPPort;
-using	GCF::TM::GCFEvent;
 using	GCF::TM::GCFPortInterface;
 using	GCF::TM::GCFTask;
 using	GCF::RTDB::RTDBPropertySet;
diff --git a/MAC/APL/StationCU/src/HardwareMonitor/RSPMonitor.cc b/MAC/APL/StationCU/src/HardwareMonitor/RSPMonitor.cc
index b8fce17faf6950571fa1ae35ffd79463a02ada5c..d7040639868ba01f18c4aedef4feba19a089c502 100644
--- a/MAC/APL/StationCU/src/HardwareMonitor/RSPMonitor.cc
+++ b/MAC/APL/StationCU/src/HardwareMonitor/RSPMonitor.cc
@@ -23,7 +23,7 @@
 #include <Common/LofarLogger.h>
 
 #include <GCF/PVSS/GCF_PVTypes.h>
-#include <GCF/GCF_ServiceInfo.h>
+#include <MACIO/MACServiceInfo.h>
 #include <APL/APLCommon/ControllerDefines.h>
 #include <APL/RTDBCommon/RTDButilities.h>
 #include <APL/RSP_Protocol/RSP_Protocol.ph>
diff --git a/MAC/APL/StationCU/src/HardwareMonitor/RSPMonitor.h b/MAC/APL/StationCU/src/HardwareMonitor/RSPMonitor.h
index bace721f9113755ae823b30dbc7aeb245551f07c..fa8946bf9148378bb5cd79870c7df7576e44ec84 100644
--- a/MAC/APL/StationCU/src/HardwareMonitor/RSPMonitor.h
+++ b/MAC/APL/StationCU/src/HardwareMonitor/RSPMonitor.h
@@ -28,20 +28,17 @@
 #include <Common/lofar_vector.h>
 
 //# GCF Includes
+#include <GCF/TM/GCF_Control.h>
 #include <GCF/RTDB/RTDB_PropertySet.h>
-#include <GCF/TM/GCF_TCPPort.h>
-#include <GCF/TM/GCF_TimerPort.h>
-#include <GCF/TM/GCF_Task.h>
-#include <GCF/TM/GCF_Event.h>
 
 // forward declaration
 
 namespace LOFAR {
 	namespace StationCU {
 
+using	MACIO::GCFEvent;
 using	GCF::TM::GCFTimerPort;
 using	GCF::TM::GCFTCPPort;
-using	GCF::TM::GCFEvent;
 using	GCF::TM::GCFPortInterface;
 using	GCF::TM::GCFTask;
 using	GCF::RTDB::RTDBPropertySet;
diff --git a/MAC/APL/StationCU/src/HardwareMonitor/TBBMonitor.cc b/MAC/APL/StationCU/src/HardwareMonitor/TBBMonitor.cc
index 2c6e74b8321b150eeaa0b3f22adfad732c8112ed..9f4258a2483c16bd0aae01e80d73e25269961494 100644
--- a/MAC/APL/StationCU/src/HardwareMonitor/TBBMonitor.cc
+++ b/MAC/APL/StationCU/src/HardwareMonitor/TBBMonitor.cc
@@ -24,7 +24,7 @@
 #include <Common/lofar_datetime.h>
 
 #include <GCF/PVSS/GCF_PVTypes.h>
-#include <GCF/GCF_ServiceInfo.h>
+#include <MACIO/MACServiceInfo.h>
 #include <APL/APLCommon/ControllerDefines.h>
 #include <APL/APLCommon/APLUtilities.h>
 #include <APL/RTDBCommon/RTDButilities.h>
diff --git a/MAC/APL/StationCU/src/HardwareMonitor/TBBMonitor.h b/MAC/APL/StationCU/src/HardwareMonitor/TBBMonitor.h
index 15c06d6cb4d63e1473d2e9b71f8fd26bc4346fcd..3f6a2b0d5746946be95b58b05d435672deab6cf7 100644
--- a/MAC/APL/StationCU/src/HardwareMonitor/TBBMonitor.h
+++ b/MAC/APL/StationCU/src/HardwareMonitor/TBBMonitor.h
@@ -29,11 +29,8 @@
 #include <Common/lofar_bitset.h>
 
 //# GCF Includes
+#include <GCF/TM/GCF_Control.h>
 #include <GCF/RTDB/RTDB_PropertySet.h>
-#include <GCF/TM/GCF_TCPPort.h>
-#include <GCF/TM/GCF_TimerPort.h>
-#include <GCF/TM/GCF_Task.h>
-#include <GCF/TM/GCF_Event.h>
 #include <APL/TBB_Protocol/TBB_Protocol.ph>
 
 // forward declaration
@@ -41,9 +38,9 @@
 namespace LOFAR {
 	namespace StationCU {
 
+using	MACIO::GCFEvent;
 using	GCF::TM::GCFTimerPort;
 using	GCF::TM::GCFTCPPort;
-using	GCF::TM::GCFEvent;
 using	GCF::TM::GCFPortInterface;
 using	GCF::TM::GCFTask;
 using	GCF::RTDB::RTDBPropertySet;
diff --git a/MAC/APL/StationCU/src/StationControl/ActiveObs.cc b/MAC/APL/StationCU/src/StationControl/ActiveObs.cc
index 975fa175e8a85693271c75009a88ff0687d8d2cf..5e33f2b27de9b157b5a36dcf9f05d670745e7a27 100644
--- a/MAC/APL/StationCU/src/StationControl/ActiveObs.cc
+++ b/MAC/APL/StationCU/src/StationControl/ActiveObs.cc
@@ -30,8 +30,8 @@
 
 //# Includes
 #include <Common/LofarLogger.h>
+#include <Common/SystemUtil.h>
 #include <GCF/TM/GCF_Protocols.h>
-#include <GCF/Utils.h>
 #include <APL/APLCommon/ChildControl.h>
 #include <APL/APLCommon/ControllerDefines.h>
 #include <APL/APLCommon/Controller_Protocol.ph>
@@ -47,8 +47,8 @@
 namespace LOFAR {
 	using ACC::APS::ParameterSet;
 	using namespace APLCommon;
+	using namespace MACIO;
 	using namespace GCF::TM;
-	using namespace GCF::Common;
 	using namespace GCF::RTDB;
 	using namespace Deployment;
 	namespace StationCU {
@@ -66,7 +66,7 @@ ActiveObs::ActiveObs(const string&		name,
 	itsName				(name),
 	itsTask				(&task),
 	itsInstanceNr		(getInstanceNr(name)),
-	itsObsPar			(APLCommon::Observation(thePS)),
+	itsObsPar			(Observation(thePS)),
 	itsUsesTBB			(false),
 	itsBeamCntlrReady	(false),
 	itsCalCntlrReady	(false),
diff --git a/MAC/APL/StationCU/src/StationControl/ActiveObs.h b/MAC/APL/StationCU/src/StationControl/ActiveObs.h
index 1a3f87dfa21b3e510e6386a31c1d63828f853f4f..f015f3cb0704754c8b0414d4d318f90a275e1f83 100644
--- a/MAC/APL/StationCU/src/StationControl/ActiveObs.h
+++ b/MAC/APL/StationCU/src/StationControl/ActiveObs.h
@@ -28,20 +28,17 @@
 
 //# Never #include <config.h> or #include <lofar_config.h> in a header file!
 //# Includes
-#include <GCF/TM/GCF_Fsm.h>
-#include <GCF/TM/GCF_Event.h>
-#include <GCF/TM/GCF_Port.h>
-#include <GCF/TM/GCF_TimerPort.h>
-#include <APL/APLCommon/Observation.h>
-#include <APL/APLCommon/CTState.h>
+#include <ApplCommon/Observation.h>
+#include <GCF/TM/GCF_Control.h>
 #include <GCF/RTDB/RTDB_PropertySet.h>
+#include <APL/APLCommon/CTState.h>
 
 
 // Avoid 'using namespace' in headerfiles
 
 namespace LOFAR {
+	using MACIO::GCFEvent;
 	using GCF::TM::GCFFsm;
-	using GCF::TM::GCFEvent;
 	using GCF::TM::GCFPortInterface;
 	using GCF::TM::GCFTask;
 	using GCF::TM::GCFTimerPort;
@@ -74,7 +71,7 @@ public:
 	bool					inSync()	const { return (itsCurState == itsReqState); }
 	CTState::CTstateNr		curState()	const { return (itsCurState); }
 	string					getName()	const { return (itsName); }
-	APLCommon::Observation*	obsPar()	{ return (&itsObsPar); }
+	Observation*			obsPar()	{ return (&itsObsPar); }
 
 	ostream& print (ostream& os) const;
 
@@ -100,7 +97,7 @@ private:
 	string						itsName;
 	GCFTask*					itsTask;
 	int32						itsInstanceNr;
-	APLCommon::Observation		itsObsPar;
+	Observation					itsObsPar;
 	bool						itsUsesTBB;
 	bool						itsBeamCntlrReady;
 	bool						itsCalCntlrReady;
diff --git a/MAC/APL/StationCU/src/StationControl/StationControl.cc b/MAC/APL/StationCU/src/StationControl/StationControl.cc
index 490e9199bfb548128bdadde4ddbd59d5acf2b2a1..61b462d950d06507c293d4169052aaf197051f53 100644
--- a/MAC/APL/StationCU/src/StationControl/StationControl.cc
+++ b/MAC/APL/StationCU/src/StationControl/StationControl.cc
@@ -25,11 +25,11 @@
 //
 #include <lofar_config.h>
 #include <Common/LofarLogger.h>
+#include <Common/SystemUtil.h>
 
 #include <APS/ParameterSet.h>
 #include <GCF/PVSS/GCF_PVTypes.h>
-#include <GCF/Utils.h>
-#include <GCF/GCF_ServiceInfo.h>
+#include <MACIO/MACServiceInfo.h>
 #include <APL/APLCommon/APL_Defines.h>
 #include <APL/APLCommon/ControllerDefines.h>
 #include <APL/APLCommon/Controller_Protocol.ph>
@@ -97,8 +97,8 @@ StationControl::StationControl(const string&	cntlrName) :
 	itsTimerPort = new GCFTimerPort(*this, "TimerPort");
 
 	// for debugging purposes
-	GCF::TM::registerProtocol (CONTROLLER_PROTOCOL, CONTROLLER_PROTOCOL_STRINGS);
-	GCF::TM::registerProtocol (DP_PROTOCOL, 		DP_PROTOCOL_STRINGS);
+	registerProtocol (CONTROLLER_PROTOCOL, CONTROLLER_PROTOCOL_STRINGS);
+	registerProtocol (DP_PROTOCOL, 		DP_PROTOCOL_STRINGS);
 }
 
 
@@ -290,7 +290,7 @@ GCFEvent::TResult StationControl::connect_state(GCFEvent& event,
 		itsChildControl->startChild(CNTLRTYPE_DIGITALBOARDCTRL,
 							   		0,			// treeID, 
 							   		0,			// instanceNr,
-							   		GCF::Common::myHostname(false));
+							   		myHostname(false));
 		// will result in CONTROL_STARTED (and CONTROL_CONNECTED if no error).
 		}
 		break;
diff --git a/MAC/APL/StationCU/src/StationControl/StationControl.h b/MAC/APL/StationCU/src/StationControl/StationControl.h
index d5eed60fb5d3df969ae245b277a97b9cbedc26f7..02f60acc56cdb038f8addbf3f08ac0f1d532a9b1 100644
--- a/MAC/APL/StationCU/src/StationControl/StationControl.h
+++ b/MAC/APL/StationCU/src/StationControl/StationControl.h
@@ -27,23 +27,20 @@
 #include <Common/lofar_string.h>
 #include <Common/lofar_vector.h>
 #include <Common/LofarLogger.h>
+#include <ApplCommon/Observation.h>
 
 //# ACC Includes
 #include <APS/ParameterSet.h>
 
 //# GCF Includes
+#include <MACIO/GCF_Event.h>
+#include <GCF/TM/GCF_Control.h>
 #include <GCF/RTDB/RTDB_PropertySet.h>
-#include <GCF/TM/GCF_Port.h>
-#include <GCF/TM/GCF_ITCPort.h>
-#include <GCF/TM/GCF_TimerPort.h>
-#include <GCF/TM/GCF_Task.h>
-#include <GCF/TM/GCF_Event.h>
 
 //# Application includes
 #include <APL/APLCommon/Controller_Protocol.ph>
 #include <APL/APLCommon/ChildControl.h>
 #include <APL/APLCommon/ParentControl.h>
-#include <APL/APLCommon/Observation.h>
 #include <APL/APLCommon/CTState.h>
 
 //# local includes
@@ -56,10 +53,10 @@ namespace LOFAR {
 	using APLCommon::ParentControl;
 
 	namespace StationCU {
+	using	MACIO::GCFEvent;
 	using	GCF::TM::GCFTimerPort;
 	using	GCF::TM::GCFITCPort;
 	using	GCF::TM::GCFPort;
-	using	GCF::TM::GCFEvent;
 	using	GCF::TM::GCFPortInterface;
 	using	GCF::TM::GCFTask;
 
diff --git a/MAC/APL/StationCU/src/TBBControl/TBBControl.cc b/MAC/APL/StationCU/src/TBBControl/TBBControl.cc
index 3a8603a9da406b19bca04bf0936a3b59bfa9393c..94c75c065eaad190336648c239d3ae1b92a602ee 100644
--- a/MAC/APL/StationCU/src/TBBControl/TBBControl.cc
+++ b/MAC/APL/StationCU/src/TBBControl/TBBControl.cc
@@ -27,7 +27,7 @@
 #include <APS/ParameterSet.h>
 #include <GCF/PVSS/GCF_PVTypes.h>
 #include <GCF/Utils.h>
-#include <GCF/GCF_ServiceInfo.h>
+#include <MACIO/MACServiceInfo.h>
 #include <APL/APLCommon/APL_Defines.h>
 #include <APL/APLCommon/APLUtilities.h>
 #include <APL/APLCommon/Controller_Protocol.ph>
diff --git a/MAC/APL/StationCU/src/TBBControl/VHECRTask.cc b/MAC/APL/StationCU/src/TBBControl/VHECRTask.cc
index b6211a1c063dec8d5f0437360094bb3d6b877043..4c3c1f514868989babd6abbac8b4dd77cd1a5ec7 100644
--- a/MAC/APL/StationCU/src/TBBControl/VHECRTask.cc
+++ b/MAC/APL/StationCU/src/TBBControl/VHECRTask.cc
@@ -26,7 +26,6 @@
 #include "VHECRTask.h"
 #include "TBBControl.h"
 
-using namespace LOFAR::GCF::Common;
 using namespace LOFAR::GCF::TM;
 
 namespace LOFAR {