diff --git a/libs/pnml-relast-engine-fatjar-0.1.jar b/libs/pnml-relast-engine-fatjar-0.1.jar
index f200008a372c40e146b12978ce679039abf18f97..235fc3c8eb382be6f18abe5d3db24622c46233bc 100644
Binary files a/libs/pnml-relast-engine-fatjar-0.1.jar and b/libs/pnml-relast-engine-fatjar-0.1.jar differ
diff --git a/src/main/java/de/tudresden/inf/st/sample/Main.java b/src/main/java/de/tudresden/inf/st/sample/Main.java
index f995423ea7ee18f82b9d0646b1577cf513cc6c81..0dc5012513e17edfb62b52242081ea7cffc76a3e 100644
--- a/src/main/java/de/tudresden/inf/st/sample/Main.java
+++ b/src/main/java/de/tudresden/inf/st/sample/Main.java
@@ -1,20 +1,9 @@
 package de.tudresden.inf.st.sample;
 
-/*import com.fasterxml.jackson.databind.ObjectMapper;
-import de.tudresden.inf.st.pnml.engine.execution.TransitionCallback;
-import de.tudresden.inf.st.pnml.engine.execution.TransitionCallbackService;
+import de.tudresden.inf.st.pnml.engine.execution.TransitionHandlerService;
+import de.tudresden.inf.st.pnml.engine.ros.DiNeRosDefaultNode;
 import de.tudresden.inf.st.pnml.engine.ros.DiNeRosNode;
-import de.tudresden.inf.st.pnml.engine.transform.PetriNetInitializer;
-import de.tudresden.inf.st.pnml.jastadd.model.BalloonCallbackStorage;
-import de.tudresden.inf.st.pnml.jastadd.model.BalloonMarking;
-import de.tudresden.inf.st.pnml.jastadd.model.PetriNet;
-import de.tudresden.inf.st.pnml.jastadd.model.PnmlParser;
-import de.tudresden.inf.st.sample.balloon.Token;
-import de.tudresden.inf.st.sample.callback.AbstractNetCallback;
-import de.tudresden.inf.st.sample.callback.CallbackMapper;
-import de.tudresden.inf.st.sample.communication.Node2Subscriber1;
-import de.tudresden.inf.st.sample.nodes.Node1;
-import de.tudresden.inf.st.sample.nodes.Node2;
+import de.tudresden.inf.st.pnml.jastadd.model.*;
 import org.ros.node.DefaultNodeMainExecutor;
 import org.ros.node.NodeConfiguration;
 import org.ros.node.NodeMainExecutor;
@@ -26,7 +15,7 @@ import java.net.URI;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
-import java.util.Map;*/
+import java.util.Map;
 
 /**
  * <Generated>
@@ -34,14 +23,14 @@ import java.util.Map;*/
 public class Main {
 
     // actual ros / mqtt host url is inserted based on configuration
-   /* private static final String ROS_HOST = "localhost";
+    private static final String ROS_HOST = "localhost";
     private static final String ROS_MASTER_URI = "http://localhost:11311";
     private static final String MQTT_HOST = "localhost";
 
     private static final NodeConfiguration nodeConfiguration = NodeConfiguration.newPublic(ROS_HOST);
     private static final NodeMainExecutor nodeMainExecutor = DefaultNodeMainExecutor.newDefault();
 
-    public static void main(java.lang.String[] args) throws IOException, ParserConfigurationException, SAXException {*/
+    public static void main(java.lang.String[] args) throws IOException, ParserConfigurationException, SAXException {
 
         /*
          * <Generated>
@@ -49,9 +38,12 @@ public class Main {
          */
 
         // actual petri net paths are generated
-    /*    List<String> petriNetPaths = new ArrayList<>();
+        List<String> petriNetPaths = new ArrayList<>();
         petriNetPaths.add("src/main/resources/nets/publisher-net.pnml");
         petriNetPaths.add("src/main/resources/nets/subscriber-net.pnml");
+        petriNetPaths.add("src/main/resources/nets/client-net.pnml");
+        petriNetPaths.add("src/main/resources/nets/server-net.pnml");
+
         List<PetriNet> petriNets = new ArrayList<>();
         Map<String, BalloonMarking> markings = new HashMap<>();
         Map<String, BalloonCallbackStorage> callbackStorages = new HashMap<>();
@@ -60,58 +52,32 @@ public class Main {
             petriNets.add(PnmlParser.parsePnml(petriNetPath).get(0));
         }
 
-        TransitionCallbackService transitionCallbackService = TransitionCallbackService.getInstance();
+        TransitionHandlerService transitionHandlerService = TransitionHandlerService.getInstance();
 
         for(PetriNet petriNet : petriNets){
             markings.put(petriNet.getId(), petriNet.initializeBalloonMarking());
             BalloonCallbackStorage storage = petriNet.initializeCallbackStorage();
-            transitionCallbackService.init(petriNet.getId(), storage);
+            transitionHandlerService.init(petriNet.getId(), storage);
             callbackStorages.put(petriNet.getId(), storage);
-            PetriNetInitializer.initInputSignalConnections(petriNet, MQTT_HOST, "mqtt");
-            PetriNetInitializer.initOutputSignalConnections(petriNet, MQTT_HOST, "mqtt");
-        }*/
-
-        /*
-         * <Generated>
-         * Callback and token integration
-         */
-
-   /*     Map<String, List<AbstractNetCallback>> callbackMap1 = CallbackMapper.initCallbacksForNode1(petriNets.get(0));
-
-        for (Map.Entry<String, List<AbstractNetCallback>> entry : callbackMap1.entrySet()) {
-            for(AbstractNetCallback anc : entry.getValue()){
-                transitionCallbackService.registerCallback(petriNets.get(0), entry.getKey(), anc);
-            }
         }
 
-        Map<String, List<AbstractNetCallback>> callbackMap2 = CallbackMapper.initCallbacksForNode2(petriNets.get(1));
-
-        for (Map.Entry<String, List<AbstractNetCallback>> entry : callbackMap2.entrySet()) {
-            for(AbstractNetCallback anc : entry.getValue()){
-                transitionCallbackService.registerCallback(petriNets.get(1), entry.getKey(), anc);
-            }
-        }*/
-
         /*
          * <Generated>
          * Start of the Dineros NodescallbackMap1
          */
 
-    /*    nodeConfiguration.setMasterUri(URI.create(ROS_MASTER_URI));
+        nodeConfiguration.setMasterUri(URI.create(ROS_MASTER_URI));
 
         // generated
         DiNeRosNode node1 = new Node1("node1", petriNets.get(0),
                 markings.get(petriNets.get(0).getId()), callbackStorages.get(petriNets.get(0).getId()));
         DiNeRosNode node2 = new Node2("node2", petriNets.get(1),
-                markings.get(petriNets.get(1).getId()), callbackStorages.get(petriNets.get(1).getId()));*/
+                markings.get(petriNets.get(1).getId()), callbackStorages.get(petriNets.get(1).getId()));
+
 
-        /*
         DiNeRosNode diNeRosNode = new DiNeRosDefaultNode("TestNode", petriNets.get(0),
                 markings.get(petriNets.get(0).getId()), callbackStorages.get(petriNets.get(0).getId()));
         diNeRosNode.getDinerosServiceServers().put("locB", new DiNeRosDefaultServer());
-         */
-
-       /* node2.getDinerosSubscribers().put("locB", new Node2Subscriber1());
 
         new Thread(() -> nodeMainExecutor.execute(node1, nodeConfiguration)) {{
             start();
@@ -120,5 +86,5 @@ public class Main {
         new Thread(() -> nodeMainExecutor.execute(node2, nodeConfiguration)) {{
             start();
         }};
-    }*/
+    }
 }
diff --git a/src/main/java/de/tudresden/inf/st/sample/balloon/Token.java b/src/main/java/de/tudresden/inf/st/sample/balloon/Token.java
deleted file mode 100644
index 43cbf6c728144764ab3fde6001c2447882c0237d..0000000000000000000000000000000000000000
--- a/src/main/java/de/tudresden/inf/st/sample/balloon/Token.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package de.tudresden.inf.st.sample.balloon;
-
-import java.util.ArrayList;
-import java.util.List;
-
-// input file provide by user
-public class Token {
-
-    private String field;
-
-    private List<String> fieldList = new ArrayList<>();
-
-    public String getField() {
-        return field;
-    }
-
-    public void setField(String field) {
-        this.field = field;
-    }
-
-    public List<String> getFieldList() {
-        return fieldList;
-    }
-
-    public void setFieldList(List<String> fieldList) {
-        this.fieldList = fieldList;
-    }
-}
diff --git a/src/main/java/de/tudresden/inf/st/sample/callback/AbstractNetCallback.java b/src/main/java/de/tudresden/inf/st/sample/callback/AbstractNetCallback.java
deleted file mode 100644
index 35767fb6814d6d9f9e3e0a73774ed5993ecd0540..0000000000000000000000000000000000000000
--- a/src/main/java/de/tudresden/inf/st/sample/callback/AbstractNetCallback.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package de.tudresden.inf.st.sample.callback;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import de.tudresden.inf.st.sample.balloon.Token;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-// only the token class is generated, this is a static class
-// this class gets extended by the user for concrete callbacks
-// this class hides (de-)serialisation of the tokens
-public abstract class AbstractNetCallback {
-
-   /* public AbstractNetCallback(String id, int priority, List<String> params) {
-        super(id, priority, params);
-    }
-
-    public AbstractNetCallback(String id, int priority) {
-        super(id, priority);
-    }
-
-    private Token parseToken(String s) throws IOException {
-        ObjectMapper mapper = new ObjectMapper();
-        return mapper.readValue(s, Token.class);
-    }
-
-    public abstract void processTokenCallback(List<Token> tokens);
-
-    @Override
-    public final List<BalloonToken> processToken(List<BalloonToken> tokens) {
-
-        List<Token> resultTokens = new ArrayList<>();
-        List<BalloonToken> resultBalloonTokens = new ArrayList<>();
-        ObjectMapper mapper = new ObjectMapper();
-
-        for(BalloonToken bt : tokens){
-            try {
-                Token t = parseToken(bt.getValue());
-                resultTokens.add(t);
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-        }
-
-        processTokenCallback(resultTokens);
-
-        for(Token t : resultTokens){
-            BalloonToken newBt = new BalloonToken();
-            try {
-                newBt.setValue(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(t));
-                resultBalloonTokens.add(newBt);
-            } catch (JsonProcessingException e) {
-                e.printStackTrace();
-            }
-        }
-
-        return resultBalloonTokens;
-    }*/
-}
diff --git a/src/main/java/de/tudresden/inf/st/sample/handling/Handlers.java b/src/main/java/de/tudresden/inf/st/sample/handling/Handlers.java
new file mode 100644
index 0000000000000000000000000000000000000000..ecec498cda0a617a0dbd6d86b4b35ead9a1b8852
--- /dev/null
+++ b/src/main/java/de/tudresden/inf/st/sample/handling/Handlers.java
@@ -0,0 +1,31 @@
+package de.tudresden.inf.st.sample.handling;
+
+import de.tudresden.inf.st.pnml.engine.execution.TransitionHandler;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+public final class Handlers {
+
+    TransitionHandler sampleHandlerColor = new TransitionHandler(1, maps -> {
+        for(Map<String, Object> m : maps){
+            m.keySet().stream().filter(s -> false).forEach(s -> m.replace("color", "light-red"));
+        }
+        return maps;
+    });
+
+    TransitionHandler sampleHandlerStatus = new TransitionHandler(1, maps -> {
+        for(Map<String, Object> m : maps){
+            m.keySet().stream().filter(s -> false).forEach(s -> m.replace("pickPlaceSuccess", true));
+        }
+        return maps;
+    });
+
+    TransitionHandler sampleFinalHandler = new TransitionHandler(1, maps -> {
+
+        List<Map<String, Object>> sList = new ArrayList<>();
+        sList.add(maps.get(0));
+        return sList;
+    });
+}
diff --git a/src/main/java/de/tudresden/inf/st/sample/callback/CallbackMapper.java b/src/main/java/de/tudresden/inf/st/sample/handling/HandlingBinder.java
similarity index 89%
rename from src/main/java/de/tudresden/inf/st/sample/callback/CallbackMapper.java
rename to src/main/java/de/tudresden/inf/st/sample/handling/HandlingBinder.java
index fddc7e4cbe4aff0a4dd6e89445b1413e73d5d155..d1073d8338776c6628317b783cc1eb95e2d87970 100644
--- a/src/main/java/de/tudresden/inf/st/sample/callback/CallbackMapper.java
+++ b/src/main/java/de/tudresden/inf/st/sample/handling/HandlingBinder.java
@@ -1,15 +1,10 @@
-package de.tudresden.inf.st.sample.callback;
+package de.tudresden.inf.st.sample.handling;
 
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 /**
  * <Generated>
  */
-public class CallbackMapper {
+public class HandlingBinder {
 
     // methods generated for each petri net
  /*   public static final Map<String, List<AbstractNetCallback>> initCallbacksForNode1(PetriNet petriNet){
diff --git a/src/main/java/de/tudresden/inf/st/sample/nodes/ClientNode.java b/src/main/java/de/tudresden/inf/st/sample/nodes/ClientNode.java
new file mode 100644
index 0000000000000000000000000000000000000000..df1dc7c20517755718cc2af3ba8353d5eec0aab6
--- /dev/null
+++ b/src/main/java/de/tudresden/inf/st/sample/nodes/ClientNode.java
@@ -0,0 +1,32 @@
+package de.tudresden.inf.st.sample.nodes;
+
+import de.tudresden.inf.st.pnml.engine.ros.DiNeRosNode;
+import de.tudresden.inf.st.pnml.jastadd.model.*;
+
+import java.util.List;
+
+public class ClientNode extends DiNeRosNode {
+
+    public ClientNode(String nodeName, PetriNet petriNet, String rcHost, String gcProtocol) {
+        super(nodeName, petriNet, rcHost, gcProtocol);
+    }
+
+    public ClientNode(String nodeName, PetriNet petriNet, BalloonMarking marking, BalloonCallbackStorage callbackStorage, InputSignalConnector inputSignalConnector) {
+        super(nodeName, petriNet, marking, callbackStorage, inputSignalConnector);
+    }
+
+    @Override
+    protected void nodeLoop() {
+
+    }
+
+    @Override
+    protected TransitionSelectionResult onChange(List<Transition> list) {
+        return null;
+    }
+
+    @Override
+    protected TransitionSelectionResult onStartupEnded(List<Transition> list) {
+        return null;
+    }
+}
diff --git a/src/main/java/de/tudresden/inf/st/sample/nodes/PublisherNode.java b/src/main/java/de/tudresden/inf/st/sample/nodes/PublisherNode.java
new file mode 100644
index 0000000000000000000000000000000000000000..1c0a36500cd8c6fb7e4756bf22e802b92c47f3f1
--- /dev/null
+++ b/src/main/java/de/tudresden/inf/st/sample/nodes/PublisherNode.java
@@ -0,0 +1,32 @@
+package de.tudresden.inf.st.sample.nodes;
+
+import de.tudresden.inf.st.pnml.engine.ros.DiNeRosNode;
+import de.tudresden.inf.st.pnml.jastadd.model.*;
+
+import java.util.List;
+
+public class PublisherNode extends DiNeRosNode {
+
+    public PublisherNode(String nodeName, PetriNet petriNet, String rcHost, String gcProtocol) {
+        super(nodeName, petriNet, rcHost, gcProtocol);
+    }
+
+    public PublisherNode(String nodeName, PetriNet petriNet, BalloonMarking marking, BalloonCallbackStorage callbackStorage, InputSignalConnector inputSignalConnector) {
+        super(nodeName, petriNet, marking, callbackStorage, inputSignalConnector);
+    }
+
+    @Override
+    protected void nodeLoop() {
+
+    }
+
+    @Override
+    protected TransitionSelectionResult onChange(List<Transition> list) {
+        return null;
+    }
+
+    @Override
+    protected TransitionSelectionResult onStartupEnded(List<Transition> list) {
+        return null;
+    }
+}
diff --git a/src/main/java/de/tudresden/inf/st/sample/nodes/ServerNode.java b/src/main/java/de/tudresden/inf/st/sample/nodes/ServerNode.java
new file mode 100644
index 0000000000000000000000000000000000000000..108821b062dab681275854e9538b9048f62372a6
--- /dev/null
+++ b/src/main/java/de/tudresden/inf/st/sample/nodes/ServerNode.java
@@ -0,0 +1,32 @@
+package de.tudresden.inf.st.sample.nodes;
+
+import de.tudresden.inf.st.pnml.engine.ros.DiNeRosNode;
+import de.tudresden.inf.st.pnml.jastadd.model.*;
+
+import java.util.List;
+
+public class ServerNode extends DiNeRosNode {
+
+    public ServerNode(String nodeName, PetriNet petriNet, String rcHost, String gcProtocol) {
+        super(nodeName, petriNet, rcHost, gcProtocol);
+    }
+
+    public ServerNode(String nodeName, PetriNet petriNet, BalloonMarking marking, BalloonCallbackStorage callbackStorage, InputSignalConnector inputSignalConnector) {
+        super(nodeName, petriNet, marking, callbackStorage, inputSignalConnector);
+    }
+
+    @Override
+    protected void nodeLoop() {
+
+    }
+
+    @Override
+    protected TransitionSelectionResult onChange(List<Transition> list) {
+        return null;
+    }
+
+    @Override
+    protected TransitionSelectionResult onStartupEnded(List<Transition> list) {
+        return null;
+    }
+}
diff --git a/src/main/java/de/tudresden/inf/st/sample/nodes/SubscriberNode.java b/src/main/java/de/tudresden/inf/st/sample/nodes/SubscriberNode.java
new file mode 100644
index 0000000000000000000000000000000000000000..7ab01781376d5b27644067961c9c24262b9974da
--- /dev/null
+++ b/src/main/java/de/tudresden/inf/st/sample/nodes/SubscriberNode.java
@@ -0,0 +1,32 @@
+package de.tudresden.inf.st.sample.nodes;
+
+import de.tudresden.inf.st.pnml.engine.ros.DiNeRosNode;
+import de.tudresden.inf.st.pnml.jastadd.model.*;
+
+import java.util.List;
+
+public class SubscriberNode extends DiNeRosNode {
+
+    public SubscriberNode(String nodeName, PetriNet petriNet, String rcHost, String gcProtocol) {
+        super(nodeName, petriNet, rcHost, gcProtocol);
+    }
+
+    public SubscriberNode(String nodeName, PetriNet petriNet, BalloonMarking marking, BalloonCallbackStorage callbackStorage, InputSignalConnector inputSignalConnector) {
+        super(nodeName, petriNet, marking, callbackStorage, inputSignalConnector);
+    }
+
+    @Override
+    protected void nodeLoop() {
+
+    }
+
+    @Override
+    protected TransitionSelectionResult onChange(List<Transition> list) {
+        return null;
+    }
+
+    @Override
+    protected TransitionSelectionResult onStartupEnded(List<Transition> list) {
+        return null;
+    }
+}
diff --git a/src/main/resources/nets/client-net.pnml b/src/main/resources/nets/client-net.pnml
index 421c11db87348f47b76e77eebd61db65fb8a1aeb..be9254e1d1527b8be6692957506321725287d9ca 100644
--- a/src/main/resources/nets/client-net.pnml
+++ b/src/main/resources/nets/client-net.pnml
@@ -1,18 +1,45 @@
-<pnml
-        xmlns="http://www.pnml.org/version-2009/grammar/pnml">
+<pnml xmlns="http://www.pnml.org/version-2009/grammar/pnml">
     <net id="PTNET-0" type="http://www.pnml.org/version-2009/grammar/ptnet">
         <page id="top">
             <page id="sourcePage">
                 <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
                     <type>nodePage</type>
                 </toolspecific>
+                <place id="ClientPlace1">
+                    <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
+                        <node>n3</node>
+                        <subnet>s3</subnet>
+                        <balloonMarking>
+                            <tokens>
+                                <token> { "id" : "red1", "target" : "bin1" } </token>
+                            </tokens>
+                        </balloonMarking>
+                    </toolspecific>
+                    <initialMarking>
+                        <text>1</text>
+                    </initialMarking>
+                    <name>
+                        <text>ClientPlace1</text>
+                    </name>
+                </place>
+                <transition id="ClientTransition1">
+                    <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
+                        <node>n3</node>
+                        <subnet>s3</subnet>
+                        <type>discreteTransitionType</type>
+                        <inputsignalclause></inputsignalclause>
+                    </toolspecific>
+                    <name>
+                        <text>ClientTransition1</text>
+                    </name>
+                </transition>
                 <place id="req1">
                     <name>
                         <text>req1</text>
                     </name>
                     <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
-                        <node>n1</node>
-                        <subnet>s1</subnet>
+                        <node>n3</node>
+                        <subnet>s3</subnet>
                     </toolspecific>
                     <initialMarking>
                         <text>0</text>
@@ -23,13 +50,18 @@
                         <text>res1</text>
                     </name>
                     <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
-                        <node>n1</node>
-                        <subnet>s1</subnet>
+                        <node>n3</node>
+                        <subnet>s3</subnet>
                     </toolspecific>
                     <initialMarking>
                         <text>0</text>
                     </initialMarking>
                 </place>
+
+                <arc id="ca1" source="ClientPlace1" target="ClientTransition1">
+                </arc>
+                <arc id="ca2" source="ClientTransition1" target="req1">
+                </arc>
             </page>
         </page>
         <name>
diff --git a/src/main/resources/nets/publisher-net.pnml b/src/main/resources/nets/publisher-net.pnml
index c358e0cb73e38d49f54ab093470ad30a60bd1b9e..24807d74cfce60d1672f6a2adfc7a11594a1ad08 100644
--- a/src/main/resources/nets/publisher-net.pnml
+++ b/src/main/resources/nets/publisher-net.pnml
@@ -1,11 +1,47 @@
-<pnml
-        xmlns="http://www.pnml.org/version-2009/grammar/pnml">
+<pnml xmlns="http://www.pnml.org/version-2009/grammar/pnml">
     <net id="PTNET-0" type="http://www.pnml.org/version-2009/grammar/ptnet">
+        <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
+            <inputsignals>
+                <inputsignal>
+                    <inputsignalID>SignalRed</inputsignalID>
+                    <initialvalue>false</initialvalue>
+                </inputsignal>
+            </inputsignals>
+        </toolspecific>
+
         <page id="top">
             <page id="sourcePage">
                 <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
                     <type>nodePage</type>
                 </toolspecific>
+                <place id="RedObjectPool">
+                    <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
+                        <node>n1</node>
+                        <subnet>s1</subnet>
+                        <balloonMarking>
+                            <tokens>
+                                <token> { "id" : "red1", "target" : "bin1" } </token>
+                            </tokens>
+                        </balloonMarking>
+                    </toolspecific>
+                    <initialMarking>
+                        <text>1</text>
+                    </initialMarking>
+                    <name>
+                        <text>RedObjectPool</text>
+                    </name>
+                </place>
+                <transition id="SortRed">
+                    <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
+                        <node>n1</node>
+                        <subnet>s1</subnet>
+                        <type>discreteTransitionType</type>
+                        <inputsignalclause>(SignalRed)</inputsignalclause>
+                    </toolspecific>
+                    <name>
+                        <text>SortRed</text>
+                    </name>
+                </transition>
                 <place id="pub1">
                     <name>
                         <text>pub1</text>
@@ -18,6 +54,11 @@
                         <text>0</text>
                     </initialMarking>
                 </place>
+
+                <arc id="a1" source="RedObjectPool" target="SortRed">
+                </arc>
+                <arc id="a2" source="SortRed" target="pub1">
+                </arc>
             </page>
         </page>
         <name>
diff --git a/src/main/resources/nets/server-net.pnml b/src/main/resources/nets/server-net.pnml
index c37a6389c81ad4ecd109dcbd75e8b4e9d07465e7..3b603fee15cb5050ab09aa9f4b06381d08b29dbd 100644
--- a/src/main/resources/nets/server-net.pnml
+++ b/src/main/resources/nets/server-net.pnml
@@ -1,5 +1,4 @@
-<pnml
-        xmlns="http://www.pnml.org/version-2009/grammar/pnml">
+<pnml xmlns="http://www.pnml.org/version-2009/grammar/pnml">
     <net id="PTNET-0" type="http://www.pnml.org/version-2009/grammar/ptnet">
         <page id="top">
             <page id="targetPage">
@@ -12,25 +11,41 @@
                         <text>serverIn</text>
                     </name>
                     <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
-                        <node>n2</node>
-                        <subnet>s2</subnet>
+                        <node>n4</node>
+                        <subnet>s4</subnet>
                     </toolspecific>
                     <initialMarking>
                         <text>0</text>
                     </initialMarking>
                 </place>
+                <transition id="ConnectorTransition">
+                    <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
+                        <node>n4</node>
+                        <subnet>s4</subnet>
+                        <type>discreteTransitionType</type>
+                        <inputsignalclause></inputsignalclause>
+                    </toolspecific>
+                    <name>
+                        <text>ConnectorTransition</text>
+                    </name>
+                </transition>
                 <place id="serverOut">
                     <name>
                         <text>serverOut</text>
                     </name>
                     <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
-                        <node>n2</node>
-                        <subnet>s2</subnet>
+                        <node>n4</node>
+                        <subnet>s4</subnet>
                     </toolspecific>
                     <initialMarking>
                         <text>0</text>
                     </initialMarking>
                 </place>
+
+                <arc id="a1" source="serverIn" target="ConnectorTransition">
+                </arc>
+                <arc id="a2" source="ConnectorTransition" target="serverOut">
+                </arc>
             </page>
         </page>
         <name>
diff --git a/src/main/resources/nets/subscriber-net.pnml b/src/main/resources/nets/subscriber-net.pnml
index 7035978904a1dc608fe369346e3c6b98dfe8e356..94a161aed23eaf57a807fbb7a9560b2f904811be 100644
--- a/src/main/resources/nets/subscriber-net.pnml
+++ b/src/main/resources/nets/subscriber-net.pnml
@@ -1,5 +1,4 @@
-<pnml
-        xmlns="http://www.pnml.org/version-2009/grammar/pnml">
+<pnml xmlns="http://www.pnml.org/version-2009/grammar/pnml">
     <net id="PTNET-0" type="http://www.pnml.org/version-2009/grammar/ptnet">
         <page id="top">
             <page id="targetPage">