diff --git a/src/main/java/tmltranslator/TMLArchitecture.java b/src/main/java/tmltranslator/TMLArchitecture.java
index 0fa55086051e7a1469a24d553a5d2a19a2e775b9..f86193101e13977a38ab6699aefaeff4f8d8eef5 100755
--- a/src/main/java/tmltranslator/TMLArchitecture.java
+++ b/src/main/java/tmltranslator/TMLArchitecture.java
@@ -130,8 +130,11 @@ public class TMLArchitecture {
         return null;
     }
 
-    public void makeHwLink(HwCommunicationNode bus, HwNode node) {
-        HwLink link = new HwLink(bus.getName() + "__" + node.getName());
+    public void makeHwLink(HwBus bus, HwNode node) {
+        String busName = bus.getName();
+        String nodeName = node.getName();
+        HwLink link = new HwLink(busName + "__" + nodeName);
+        link.setNodes(bus, node);
         addHwLink(link);
     }
 
diff --git a/src/main/java/tmltranslator/tonetwork/Link.java b/src/main/java/tmltranslator/tonetwork/Link.java
index e01d3ee58b5bef63125f411b1a5dedaf7a9e8008..529b96a9f077a470f0691091397543394ffa0c70 100644
--- a/src/main/java/tmltranslator/tonetwork/Link.java
+++ b/src/main/java/tmltranslator/tonetwork/Link.java
@@ -90,6 +90,7 @@ public class Link {
         }
 
         generateLinks();
+        generateHwComponents();
     }
 
     public Link(TMLModeling tmlm, TranslatedRouter previous, TranslatedRouter next, int nbOfVCs, String add) {
diff --git a/src/main/java/tmltranslator/tonetwork/TMAP2Network.java b/src/main/java/tmltranslator/tonetwork/TMAP2Network.java
index f8dd20eac3fbe9e2317e48c0ec8268e79a82d653..4094890c29243faa50b4c1fc415af309dbb96f84 100644
--- a/src/main/java/tmltranslator/tonetwork/TMAP2Network.java
+++ b/src/main/java/tmltranslator/tonetwork/TMAP2Network.java
@@ -412,7 +412,9 @@ public class TMAP2Network<E>  {
                 } else {
                     node = tmlarchi.getHwExecutionNodeByName(s);
                     bus = tmla.getHwBusByName(node.getName() + "__bus");
+                    TraceManager.addDev("Found bus=" + bus);
                 }
+                TraceManager.addDev("Using bus=" + bus + " name=" + bus.getName());
                 routers[i][j].makeHwArchitectureAndMapping(node, bus);
             }
         }
diff --git a/src/main/java/tmltranslator/tonetwork/TranslatedRouter.java b/src/main/java/tmltranslator/tonetwork/TranslatedRouter.java
index fac6f971cf23cb86076cd440c1fa96a46f89f436..764e6fbdcd0cc36e045db0886560521feaf44a06 100644
--- a/src/main/java/tmltranslator/tonetwork/TranslatedRouter.java
+++ b/src/main/java/tmltranslator/tonetwork/TranslatedRouter.java
@@ -222,6 +222,11 @@ public class TranslatedRouter<E> {
             muxTask.generate(inputEventsOfMUX, eventForMUX_and_NI_IN);
             muxTasks.add(muxTask);
             allTasks.add(muxTask);
+
+            // We now need to modify the corresponding input tasks
+            // The channel is modified to NBRNBW
+            // Once the sample has been sent, the outputEventOfMux is sent
+
         }
 
 
@@ -477,7 +482,6 @@ public class TranslatedRouter<E> {
     public void makeOutputEventsChannels() {
         TMLModeling tmlm = tmlmap.getTMLModeling();
 
-
         // Internal events and channels
 
         // Between IN and INVC
@@ -588,9 +592,14 @@ public class TranslatedRouter<E> {
     // ALSO: initial, last tasks
     public void makeHwArchitectureAndMapping(HwExecutionNode execNode, HwBus busToInternalDomain) {
         TMLArchitecture tmla = tmlmap.getTMLArchitecture();
+
         int i, j, k;
 
         // We first need a bridge for the internal domain
+        if (busToInternalDomain == null) {
+            TraceManager.addDev("NULL bus");
+        }
+
         HwBridge mainBridge = new HwBridge("BridgeIntennal" + getPositionNaming());
         tmla.addHwNode(mainBridge);
         tmla.makeHwLink(busToInternalDomain, mainBridge);
@@ -730,7 +739,10 @@ public class TranslatedRouter<E> {
         tmla.addHwNode(busOUTToMainBridge);
         tmla.makeHwLink(busOUTToMainBridge, memNIOUT);
         tmla.makeHwLink(busOUTToMainBridge, mainBridge);
-        
+
+        // fake task on CPU
+        tmlmap.addTaskToHwExecutionNode(fto, node);
+
 
     }