diff --git a/.gitattributes b/.gitattributes
index c36b1a5039b703eabfc041057d5704c740be9334..d116e82c69c0e0613ddeb1d88c4ac6a53c29813d 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -3240,6 +3240,8 @@ MAC/Navigator2/panels/objects/Hardware/lofar_HW_state.pnl -text
 MAC/Navigator2/panels/objects/Hardware/midplane_small.pnl -text
 MAC/Navigator2/panels/objects/Observations/Observation_small.pnl -text
 MAC/Navigator2/panels/objects/Observations/lofar_Obs_state.pnl -text
+MAC/Navigator2/panels/objects/Processes/CCUSWLevelView.pnl -text
+MAC/Navigator2/panels/objects/Processes/MCUSWLevelView.pnl -text
 MAC/Navigator2/panels/objects/Processes/ObsSW_CEP.pnl -text
 MAC/Navigator2/panels/objects/Processes/ObsSW_Main.pnl -text
 MAC/Navigator2/panels/objects/Processes/ObsSW_Station.pnl -text
diff --git a/MAC/Navigator2/panels/main.pnl b/MAC/Navigator2/panels/main.pnl
index d14600310e487eef5b14d7e7720cb780f88f76b7..637869cb69e3444dd1c68412fc7d14fd05d29ca2 100644
--- a/MAC/Navigator2/panels/main.pnl
+++ b/MAC/Navigator2/panels/main.pnl
@@ -13,7 +13,7 @@ PANEL,-1 -1 1010 745 N "_3DFace" 0
   baseDP=g_currentDatapoint;
  
 
-  stationList = makeDynString(\"CS001\",\"CS002\",\"CS003\",\"CS004\",\"CS005\",\"CS006\",\"RS007\",
+  stationList = makeDynString(\"CS001\",\"CS002\",\"CS003\",\"CS004\",\"CS005\",\"CS006\",\"CS007\",
                               \"CS011\",\"CS013\",\"CS017\",
                               \"CS021\",\"CS024\",\"CS026\",\"CS028\",
                               \"CS030\",\"CS031\",\"CS032\",
@@ -24,7 +24,7 @@ PANEL,-1 -1 1010 745 N "_3DFace" 0
                               \"RS406\",\"RS407\",\"RS409\",
                               \"RS503\",\"RS508\",\"RS509\",
                               \"DE601\",\"DE602\",\"DE603\",\"DE604\",\"RS605\",\"FR606\",\"SE607\",\"UK608\",
-                              \"CCU001\",\"MCU001\");
+                              CEPDBName,MainDBName);
   
   redraw();
 }
@@ -209,12 +209,17 @@ void addSWCtrlers() {
   int yPos_AddSymbol = 28;
   int ref = 1;
 
-  string addPanelName    = \"objects/Processes/stationSWLevelView.pnl\";
+  string addPanelName;
   //loop over list and prepare panel with all datastreamobjects   
   for (int i=1; i<= dynlen(stationList); i++) {
-    //skip CCU and MCU machines
-    if (strpos(stationList[i],\"MCU\") >=0 ||strpos(stationList[i],\"CCU\") >=0) continue;
-
+    //CCU and MCU machines different layout
+    if (strpos(stationList[i],\"MCU\") >=0 ) {
+      addPanelName    = \"objects/Processes/MCUSWLevelView.pnl\";
+    } else if( strpos(stationList[i],\"CCU\") >=0) {
+      addPanelName    = \"objects/Processes/CCUSWLevelView.pnl\";
+    } else {
+      addPanelName    = \"objects/Processes/stationSWLevelView.pnl\";
+    }
     swCtrlRefNames[i]=\"swCtrl\"+(i);
       
     if (  addSymbol(  strModuleName,                   // Stay in this modul
@@ -231,7 +236,14 @@ void addSWCtrlers() {
           }
     yPos_AddSymbol += 10;
     ref++;
-    addStationProcesses(stationList[i]+\":\");
+    //CCU and MCU machines different layout
+    if (strpos(stationList[i],\"MCU\") >=0 ) {
+//      addMCUProcesses(stationList[i]+\":\");
+    } else if( strpos(stationList[i],\"CCU\") >=0) {
+//      addCCUProcesses(stationList[i]+\":\");
+    } else {
+      addStationProcesses(stationList[i]+\":\");
+    }
   }
   dpSet(DPNAME_NAVIGATOR + g_navigatorID + \".processesList\",station_result);
 
diff --git a/MAC/Navigator2/panels/objects/Observations/Observation_small.pnl b/MAC/Navigator2/panels/objects/Observations/Observation_small.pnl
index 02b01e65f7ccc5c3c9de041e418220ec82a62bbb..2271d613af4a01d5cd3ee4e5cd1d7e0e64eb7958 100644
--- a/MAC/Navigator2/panels/objects/Observations/Observation_small.pnl
+++ b/MAC/Navigator2/panels/objects/Observations/Observation_small.pnl
@@ -1,4 +1,4 @@
-V 10
+V 11
 1
 LANG:1 0 
 PANEL,-1 -1 999 293 N "_3DFace" 1
@@ -110,12 +110,10 @@ updateObservations(string dp1, dyn_string obs,
       if (!navFunct_dpReachable(obsDP) ){
         LOG_ERROR(\"Observation_small.pnl:updateObservations|DP unreachable\");
         updateObservationsTableValues(\"\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",true);
-        return;
       }
          
     } else {
       LOG_ERROR(\"Observation_small.pnl:updateObservations|ERROR: Dp for LOFAR_ObsSW_\"+obs[i]+\" doesn't exist.\");   
-      return;
     }
   }
 }
@@ -184,9 +182,8 @@ LANG:1 0
 
 0
 1
-LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-13-*-100-100-*-*-iso8859-1|-13,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg
-0 ""
- -2 -2 991 219
+LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0
+0  -2 -2 991 219
 "main()
 {
   myTable.tableMode(TABLE_SELECT_BROWSE);
@@ -253,9 +250,8 @@ LANG:1 0
 514 
 18 18 10 10
 1
-LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-13-*-100-100-*-*-iso8859-1|-13,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg
-0 ""
-0 1 2 1 7
+LANG:1 33 MS Shell Dlg,-1,13,5,50,0,0,0,0,0
+0 0 1 2 1 7
 1 0
 0
 LAYER, 1 
@@ -286,4 +282,4 @@ LAYER, 7
 1
 LANG:1 0 
 0
-0
\ No newline at end of file
+0
diff --git a/MAC/Navigator2/panels/objects/Processes/CCUSWLevelView.pnl b/MAC/Navigator2/panels/objects/Processes/CCUSWLevelView.pnl
new file mode 100644
index 0000000000000000000000000000000000000000..7ee1c339c99e8ca7c71662554ca5f53daa4ca8fa
--- /dev/null
+++ b/MAC/Navigator2/panels/objects/Processes/CCUSWLevelView.pnl
@@ -0,0 +1,115 @@
+V 11
+1
+LANG:1 0 
+PANEL,-1 -1 765 50 N "_3DFace" 1
+"$station"
+E E E E E 1 -1 -1 0  0 0
+""0  1
+E "#uses \"navPanel.ctl\"
+string baseDP=\"\";" 0
+ 2
+"CBRef" "1"
+"EClose" E
+""
+DISPLAY_LAYER, 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
+LAYER, 0 
+1
+LANG:1 0 
+2 16
+"PRIMITIVE_TEXT1"
+""
+1 70 80 E E E 1 E 1 E N "_WindowText" E N "_Window" E E
+ E E
+16 0 0 0 0 0
+E E E
+0
+1
+LANG:1 0 
+
+1
+"dashclr"N "_Transparent"
+E E 0 1 1 2 1 E U  0 E 70 80 71 93
+0 2 2 "0s" 0 0 0 192 0 0  70 80 1
+1
+LANG:1 34 MS Shell Dlg 2,8,-1,5,50,0,0,0,0,0
+0 1
+LANG:1 0 
+1 17 1 "" 0
+0
+1 18 2 "" 0
+0
+1 19 3 "" 0
+0
+1 20 4 "" 0
+0
+1 27 11 "" 0
+0
+1 28 12 "" 0
+0
+1 29 13 "" 0
+0
+0
+LAYER, 1 
+1
+LANG:1 0 
+0
+LAYER, 2 
+1
+LANG:1 0 
+0
+LAYER, 3 
+1
+LANG:1 0 
+0
+LAYER, 4 
+1
+LANG:1 0 
+0
+LAYER, 5 
+1
+LANG:1 0 
+0
+LAYER, 6 
+1
+LANG:1 0 
+0
+LAYER, 7 
+1
+LANG:1 0 
+0
+3 1 "PANEL_REF1" -1
+"objects\\Processes\\SWControler_small.pnl" 0 0 T 18 U 
+2
+"$name""PermSW_SoftwareMonitor"
+"$station""CCU"
+3 2 "PANEL_REF2" -1
+"objects\\Processes\\SWControler_small.pnl" 20 0 T 19 1 0 1 -4 0
+2
+"$name""PermSW_Daemons_LogProcessor"
+"$station""CCU"
+3 3 "PANEL_REF3" -1
+"objects\\Processes\\SWControler_small.pnl" 30 0 T 20 1 0 1 2 0
+2
+"$name""PermSW_Daemons_CEPlogProcessor"
+"$station""CCU"
+3 4 "PANEL_REF4" -1
+"objects\\Processes\\SWControler_small.pnl" 50 0 T 21 U 
+2
+"$name""PermSW_Daemons_ServiceBroker"
+"$station""CCU"
+3 11 "PANEL_REF11" -1
+"objects\\Processes\\SWControler_small.pnl" 270 0 T 28 U 
+2
+"$name""PermSW_CTStartDaemon"
+"$station""$station"
+3 12 "PANEL_REF12" -1
+"objects\\Processes\\SWControler_small.pnl" 290 0 T 29 1 0 1 -4 0
+2
+"$name""OnlineControl"
+"$station""CCU"
+3 13 "PANEL_REF13" -1
+"objects\\Processes\\SWControler_small.pnl" 300 0 T 30 1 0 1 2 0
+2
+"$name""PythonControl"
+"$station""CCU"
+0
diff --git a/MAC/Navigator2/panels/objects/Processes/MCUSWLevelView.pnl b/MAC/Navigator2/panels/objects/Processes/MCUSWLevelView.pnl
new file mode 100644
index 0000000000000000000000000000000000000000..fe5498dac69e65435e1e57a020590cc1cabd81ed
--- /dev/null
+++ b/MAC/Navigator2/panels/objects/Processes/MCUSWLevelView.pnl
@@ -0,0 +1,120 @@
+V 11
+1
+LANG:1 0 
+PANEL,-1 -1 765 50 N "_3DFace" 1
+"$station"
+"main()
+{
+  station=$station;
+}" 0
+ E E E E 1 -1 -1 0  0 0
+""0  1
+E "#uses \"navPanel.ctl\"
+string baseDP=\"\";
+string station;" 0
+ 2
+"CBRef" "1"
+"EClose" E
+""
+DISPLAY_LAYER, 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
+LAYER, 0 
+1
+LANG:1 0 
+2 16
+"PRIMITIVE_TEXT1"
+""
+1 70 80 E E E 1 E 1 E N "_WindowText" E N "_Window" E E
+ E E
+16 0 0 0 0 0
+E E E
+0
+1
+LANG:1 0 
+
+1
+"dashclr"N "_Transparent"
+E E 0 1 1 2 1 E U  0 E 70 80 71 93
+0 2 2 "0s" 0 0 0 192 0 0  70 80 1
+1
+LANG:1 34 MS Shell Dlg 2,8,-1,5,50,0,0,0,0,0
+0 1
+LANG:1 0 
+1 17 1 "" 0
+0
+1 18 2 "" 0
+0
+1 19 3 "" 0
+0
+1 20 4 "" 0
+0
+1 21 11 "" 0
+0
+1 22 12 "" 0
+0
+1 23 13 "" 0
+0
+0
+LAYER, 1 
+1
+LANG:1 0 
+0
+LAYER, 2 
+1
+LANG:1 0 
+0
+LAYER, 3 
+1
+LANG:1 0 
+0
+LAYER, 4 
+1
+LANG:1 0 
+0
+LAYER, 5 
+1
+LANG:1 0 
+0
+LAYER, 6 
+1
+LANG:1 0 
+0
+LAYER, 7 
+1
+LANG:1 0 
+0
+3 1 "PANEL_REF1" -1
+"objects\\Processes\\SWControler_small.pnl" 0 0 T 18 U 
+2
+"$name""PermSW_SoftwareMonitor"
+"$station""$station"
+3 2 "PANEL_REF2" -1
+"objects\\Processes\\SWControler_small.pnl" 20 0 T 19 1 0 1 -4 0
+2
+"$name""PermSW_Daemons_LogProcessor"
+"$station""$station"
+3 3 "PANEL_REF3" -1
+"objects\\Processes\\SWControler_small.pnl" 30 0 T 20 1 0 1 2 0
+2
+"$name""PermSW_Daemons_ServiceBroker"
+"$station""$station"
+3 4 "PANEL_REF4" -1
+"objects\\Processes\\SWControler_small.pnl" 50 0 T 21 U 
+2
+"$name""PermSW_Daemons_SASGateway"
+"$station""$station"
+3 11 "PANEL_REF11" -1
+"objects\\Processes\\SWControler_small.pnl" 270 0 T 28 U 
+2
+"$name""PermSW_CTStartDaemon"
+"$station""$station"
+3 12 "PANEL_REF12" -1
+"objects\\Processes\\SWControler_small.pnl" 290 0 T 29 1 0 1 -4 0
+2
+"$name""PermSW_MACScheduler"
+"$station""$station"
+3 13 "PANEL_REF13" -1
+"objects\\Processes\\SWControler_small.pnl" 300 0 T 30 1 0 1 2 0
+2
+"$name""ObservationControl"
+"$station""$station"
+0
diff --git a/MAC/Navigator2/panels/objects/Processes/SWControler_small.pnl b/MAC/Navigator2/panels/objects/Processes/SWControler_small.pnl
index 05fe78fa9d2516ba6f5c0e0ef0e9932cfe9754f0..c0f7229ade85bcae29a01795985128eca9fa4a14 100644
--- a/MAC/Navigator2/panels/objects/Processes/SWControler_small.pnl
+++ b/MAC/Navigator2/panels/objects/Processes/SWControler_small.pnl
@@ -6,8 +6,12 @@ PANEL,-1 -1 388 166 N "_3DFace" 2
 "$station"
 "main()
 {
-  station = $station;
-  baseDP = station+\":LOFAR_\"+$name;
+  station = $station+\":\";
+  
+  if (station == \"MCU\") station = MAINDBName;
+  if (station == \"CCU\") station = CEPDBName;
+  
+  baseDP = station+\"LOFAR_\"+$name;
 
   // some controllers are observationbased and are only active if there is actually an observation running
   // these should be reloaded if the active observation changes, the name of the observation (temp place) will also change
@@ -40,7 +44,7 @@ private void observationChanged(string dp1, dyn_string observations,
     firstObservation = observations[1];
     // get real name from claimmanager
     obsDP=claimManager_nameToRealName(\"LOFAR_ObsSW_\"+firstObservation);
-    baseDP = station+\":\"+obsDP+\"_\"+$name;
+    baseDP = station+obsDP+\"_\"+$name;
     reload();
   }
 }
diff --git a/MAC/Navigator2/panels/objects/navigator_fastJumper.pnl b/MAC/Navigator2/panels/objects/navigator_fastJumper.pnl
index d1cf16081afaf5e593fcfb05e491453f07edcc2c..71e785fea3fe0e84f74e7f51221f050b78d81239 100644
--- a/MAC/Navigator2/panels/objects/navigator_fastJumper.pnl
+++ b/MAC/Navigator2/panels/objects/navigator_fastJumper.pnl
@@ -1,7 +1,7 @@
-V 10
+V 11
 1
 LANG:1 8 (NoName)
-PANEL,-1 -1 366 54 N "_3DFace" 1
+PANEL,-1 -1 366 71 N "_3DFace" 1
 "$name"
 "main() {
     //delay while navigator instance is being prepared, shouldn't be needed, but this way we at least have a trigger when something goes wrong
@@ -270,9 +270,8 @@ LANG:1 0
 
 0
 1
-LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg
-0 ""
- -2 8 72 34
+LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
+0  -2 8 72 32
 
 T 
 1
@@ -304,9 +303,8 @@ LANG:1 0
 
 0
 1
-LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg
-0 ""
- 78 8 152 34
+LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
+0  78 8 152 32
 
 T 
 1
@@ -354,4 +352,4 @@ LAYER, 7
 1
 LANG:1 6 Layer8
 0
-0
\ No newline at end of file
+0
diff --git a/MAC/Navigator2/panels/objects/swlevel.pnl b/MAC/Navigator2/panels/objects/swlevel.pnl
index 09c37045a9c70fa34f6e47b1dfe9eae8ed524055..9d24fc0cff83c5c37820039403a4cd9d56fcbaa5 100644
--- a/MAC/Navigator2/panels/objects/swlevel.pnl
+++ b/MAC/Navigator2/panels/objects/swlevel.pnl
@@ -217,7 +217,7 @@ E "main(int x, int y)
 2 1
 "station_text"
 ""
-1 10 10 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
+1 5 10 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
  "main()
 {
   rClick(station);
@@ -239,8 +239,8 @@ E "main(int x, int y)
 {
   click(station);
 }" 0
- 0 1 1 2 1 E U  0 E 10 10 38 23
-0 2 2 "0s" 0 0 0 192 0 0  10 10 1
+ 0 1 1 2 1 E U  0 E 5 10 33 23
+0 2 2 "0s" 0 0 0 192 0 0  5 10 1
 1
 LANG:1 34 MS Shell Dlg 2,8,-1,5,50,0,0,0,0,0
 0 1
diff --git a/MAC/Navigator2/scripts/CMakeLists.txt b/MAC/Navigator2/scripts/CMakeLists.txt
index 3de619547f25d67aec89ebb6896aa4cae6f8771b..9bec13c8022690f5bc17e886bd64938866249e36 100644
--- a/MAC/Navigator2/scripts/CMakeLists.txt
+++ b/MAC/Navigator2/scripts/CMakeLists.txt
@@ -11,4 +11,5 @@ install(FILES
   monitorStateReset.ctl
   readStationConfigs.ctl
   readStationBGPconnections.ctl
+  transferMPs.ctl
   DESTINATION pvss/scripts)