diff --git a/libs/pnml-relast-engine-fatjar-0.1.jar b/libs/pnml-relast-engine-fatjar-0.1.jar
index d3af3f2fe8490694a105ed70a5e35335b92b5293..f200008a372c40e146b12978ce679039abf18f97 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 1b91b2f05f85878f471ca4209a51d4066cde344c..f995423ea7ee18f82b9d0646b1577cf513cc6c81 100644
--- a/src/main/java/de/tudresden/inf/st/sample/Main.java
+++ b/src/main/java/de/tudresden/inf/st/sample/Main.java
@@ -1,6 +1,6 @@
 package de.tudresden.inf.st.sample;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
+/*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.ros.DiNeRosNode;
@@ -26,7 +26,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 +34,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,7 +49,7 @@ 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");
         List<PetriNet> petriNets = new ArrayList<>();
@@ -69,14 +69,14 @@ public class Main {
             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));
+   /*     Map<String, List<AbstractNetCallback>> callbackMap1 = CallbackMapper.initCallbacksForNode1(petriNets.get(0));
 
         for (Map.Entry<String, List<AbstractNetCallback>> entry : callbackMap1.entrySet()) {
             for(AbstractNetCallback anc : entry.getValue()){
@@ -90,20 +90,20 @@ public class Main {
             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),
@@ -111,7 +111,7 @@ public class Main {
         diNeRosNode.getDinerosServiceServers().put("locB", new DiNeRosDefaultServer());
          */
 
-        node2.getDinerosSubscribers().put("locB", new Node2Subscriber1());
+       /* node2.getDinerosSubscribers().put("locB", new Node2Subscriber1());
 
         new Thread(() -> nodeMainExecutor.execute(node1, nodeConfiguration)) {{
             start();
@@ -120,5 +120,5 @@ public class Main {
         new Thread(() -> nodeMainExecutor.execute(node2, nodeConfiguration)) {{
             start();
         }};
-    }
+    }*/
 }
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
index 96804024fc4b51c98d915e71786432e5b818aa8b..35767fb6814d6d9f9e3e0a73774ed5993ecd0540 100644
--- a/src/main/java/de/tudresden/inf/st/sample/callback/AbstractNetCallback.java
+++ b/src/main/java/de/tudresden/inf/st/sample/callback/AbstractNetCallback.java
@@ -2,8 +2,6 @@ package de.tudresden.inf.st.sample.callback;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import de.tudresden.inf.st.pnml.engine.execution.TransitionCallback;
-import de.tudresden.inf.st.pnml.jastadd.model.BalloonToken;
 import de.tudresden.inf.st.sample.balloon.Token;
 
 import java.io.IOException;
@@ -13,9 +11,9 @@ 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 extends TransitionCallback {
+public abstract class AbstractNetCallback {
 
-    public AbstractNetCallback(String id, int priority, List<String> params) {
+   /* public AbstractNetCallback(String id, int priority, List<String> params) {
         super(id, priority, params);
     }
 
@@ -59,5 +57,5 @@ public abstract class AbstractNetCallback extends TransitionCallback {
         }
 
         return resultBalloonTokens;
-    }
+    }*/
 }
diff --git a/src/main/java/de/tudresden/inf/st/sample/callback/CallbackMapper.java b/src/main/java/de/tudresden/inf/st/sample/callback/CallbackMapper.java
index 4f96aae1de5d00f25d49760cf5830d7413533780..fddc7e4cbe4aff0a4dd6e89445b1413e73d5d155 100644
--- a/src/main/java/de/tudresden/inf/st/sample/callback/CallbackMapper.java
+++ b/src/main/java/de/tudresden/inf/st/sample/callback/CallbackMapper.java
@@ -1,9 +1,5 @@
 package de.tudresden.inf.st.sample.callback;
 
-import de.tudresden.inf.st.pnml.engine.execution.DefaultTransitionCallback;
-import de.tudresden.inf.st.pnml.engine.execution.TransitionCallback;
-import de.tudresden.inf.st.pnml.jastadd.model.PetriNet;
-import de.tudresden.inf.st.pnml.jastadd.model.Transition;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -16,7 +12,7 @@ import java.util.Map;
 public class CallbackMapper {
 
     // methods generated for each petri net
-    public static final Map<String, List<AbstractNetCallback>> initCallbacksForNode1(PetriNet petriNet){
+ /*   public static final Map<String, List<AbstractNetCallback>> initCallbacksForNode1(PetriNet petriNet){
 
         Map<String, List<AbstractNetCallback>> callbackMap = new HashMap<>();
 
@@ -53,5 +49,5 @@ public class CallbackMapper {
         }
 
         return callbackMap;
-    }
+    }*/
 }
diff --git a/src/main/java/de/tudresden/inf/st/sample/callback/SampleNetCallback.java b/src/main/java/de/tudresden/inf/st/sample/callback/SampleNetCallback.java
deleted file mode 100644
index 9bcd27ed1e58f9fbc5e243e2071b0d08a75c0c0e..0000000000000000000000000000000000000000
--- a/src/main/java/de/tudresden/inf/st/sample/callback/SampleNetCallback.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package de.tudresden.inf.st.sample.callback;
-
-import de.tudresden.inf.st.sample.balloon.Token;
-
-import java.util.List;
-
-public class SampleNetCallback extends AbstractNetCallback{
-
-    public SampleNetCallback(String id, int priority, List<String> params) {
-        super(id, priority, params);
-    }
-
-    @Override
-    public void processTokenCallback(List<Token> tokens) {
-        System.out.println("Executing callback: " + getId());
-        tokens.subList(1, tokens.size()).clear();
-    }
-}
diff --git a/src/main/java/de/tudresden/inf/st/sample/communication/AbstractDinerosServer.java b/src/main/java/de/tudresden/inf/st/sample/communication/AbstractDinerosServer.java
deleted file mode 100644
index f62980758f63624cc93a6d1c25f118a15e5689a3..0000000000000000000000000000000000000000
--- a/src/main/java/de/tudresden/inf/st/sample/communication/AbstractDinerosServer.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package de.tudresden.inf.st.sample.communication;
-
-import de.tudresden.inf.st.pnml.engine.ros.DiNeRosNodeUtil;
-import de.tudresden.inf.st.pnml.engine.ros.DiNeRosServer;
-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;
-
-public abstract class AbstractDinerosServer implements DiNeRosServer {
-
-    @Override
-    public final boolean execute(BalloonMarking balloonMarking, BalloonCallbackStorage balloonCallbackStorage, PetriNet petriNet, String s) {
-
-        boolean success = false;
-
-        // this mechanism enforces the user to leave a server instance with a clean state (see server def)
-        while (DiNeRosNodeUtil.hasEnabledTransition(petriNet, s, balloonMarking)) {
-            success = serve(balloonMarking, balloonCallbackStorage, petriNet, s);
-        }
-
-        return success;
-    }
-
-    public abstract boolean serve(BalloonMarking balloonMarking, BalloonCallbackStorage balloonCallbackStorage, PetriNet petriNet, String subnet);
-}
diff --git a/src/main/java/de/tudresden/inf/st/sample/communication/AbstractDinerosSubscriber.java b/src/main/java/de/tudresden/inf/st/sample/communication/AbstractDinerosSubscriber.java
deleted file mode 100644
index fef2e51ed54351c78fb5c976b3613fdcc979ea6c..0000000000000000000000000000000000000000
--- a/src/main/java/de/tudresden/inf/st/sample/communication/AbstractDinerosSubscriber.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package de.tudresden.inf.st.sample.communication;
-
-import de.tudresden.inf.st.pnml.engine.ros.DiNeRosNodeUtil;
-import de.tudresden.inf.st.pnml.engine.ros.DiNeRosSubscriber;
-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;
-
-public abstract class AbstractDinerosSubscriber implements DiNeRosSubscriber {
-
-    public final boolean execute(BalloonMarking balloonMarking, BalloonCallbackStorage balloonCallbackStorage, PetriNet petriNet, String subnet) {
-
-        boolean success = false;
-
-        // this mechanism enforces the user to leave a server instance with a clean state (see server def)
-        while (DiNeRosNodeUtil.hasEnabledTransition(petriNet, subnet, balloonMarking)) {
-            success = subscribe(balloonMarking, balloonCallbackStorage, petriNet, subnet);
-        }
-
-        return  success;
-    }
-
-    public abstract boolean subscribe(BalloonMarking balloonMarking, BalloonCallbackStorage balloonCallbackStorage, PetriNet petriNet, String subnet);
-}
diff --git a/src/main/java/de/tudresden/inf/st/sample/communication/Node2Server1.java b/src/main/java/de/tudresden/inf/st/sample/communication/Node2Server1.java
deleted file mode 100644
index 1f05909a782efabae60f9a4edcbc828ccf480b74..0000000000000000000000000000000000000000
--- a/src/main/java/de/tudresden/inf/st/sample/communication/Node2Server1.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package de.tudresden.inf.st.sample.communication;
-
-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;
-
-public class Node2Server1 extends AbstractDinerosServer{
-
-    @Override
-    public boolean serve(BalloonMarking balloonMarking, BalloonCallbackStorage balloonCallbackStorage, PetriNet petriNet, String subnet) {
-        return false;
-    }
-}
\ No newline at end of file
diff --git a/src/main/java/de/tudresden/inf/st/sample/communication/Node2Subscriber1.java b/src/main/java/de/tudresden/inf/st/sample/communication/Node2Subscriber1.java
deleted file mode 100644
index 247e1500c40d439d64ccefbdf40451365569d718..0000000000000000000000000000000000000000
--- a/src/main/java/de/tudresden/inf/st/sample/communication/Node2Subscriber1.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package de.tudresden.inf.st.sample.communication;
-
-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;
-
-public class Node2Subscriber1 extends AbstractDinerosSubscriber {
-
-    @Override
-    public boolean subscribe(BalloonMarking balloonMarking, BalloonCallbackStorage balloonCallbackStorage, PetriNet petriNet, String subnet) {
-
-        // TODO: Implementation by user
-
-        System.out.println("Firing transition t2");
-        balloonMarking.fireTransition(petriNet.getTransitionById("t2"), balloonCallbackStorage, true);
-
-        try {
-            Thread.sleep(1000);
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-        }
-
-        System.out.println("Firing transition t3");
-        balloonMarking.fireTransition(petriNet.getTransitionById("t3"), balloonCallbackStorage, true);
-
-        return true;
-    }
-}
diff --git a/src/main/java/de/tudresden/inf/st/sample/nodes/Node1.java b/src/main/java/de/tudresden/inf/st/sample/nodes/Node1.java
deleted file mode 100644
index 8362675df3ae0c48f6eeb3e93bfb7e3106129005..0000000000000000000000000000000000000000
--- a/src/main/java/de/tudresden/inf/st/sample/nodes/Node1.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package de.tudresden.inf.st.sample.nodes;
-
-import de.tudresden.inf.st.pnml.engine.ros.DiNeRosNode;
-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;
-
-/**
- * <Generated>
- */
-public class Node1 extends DiNeRosNode {
-
-    public Node1(String nodeName, PetriNet petriNet) {
-        super(nodeName, petriNet);
-    }
-
-    public Node1(String nodeName, PetriNet petriNet, BalloonMarking marking, BalloonCallbackStorage callbackStorage) {
-        super(nodeName, petriNet, marking, callbackStorage);
-    }
-
-    @Override
-    protected void nodeLoop() {
-
-
-        // TODO: Implementation by user
-
-        try {
-            Thread.sleep(2000);
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-        }
-
-        System.out.println("Firing publisher transition");
-        firePublisherTransition(petriNet.getTransitionById("channelTransition-publisher-0").asInputSignalTransition());
-
-        stop();
-    }
-
-}
\ No newline at end of file
diff --git a/src/main/java/de/tudresden/inf/st/sample/nodes/Node2.java b/src/main/java/de/tudresden/inf/st/sample/nodes/Node2.java
deleted file mode 100644
index 5d29123ac9cc15d410f7b7ca4734668abbf6205a..0000000000000000000000000000000000000000
--- a/src/main/java/de/tudresden/inf/st/sample/nodes/Node2.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package de.tudresden.inf.st.sample.nodes;
-
-import de.tudresden.inf.st.pnml.engine.ros.DiNeRosNode;
-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 org.ros.concurrent.CancellableLoop;
-
-/**
- * <Generated>
- */
-public class Node2 extends DiNeRosNode {
-
-    public Node2(String nodeName, PetriNet petriNet) {
-        super(nodeName, petriNet);
-    }
-
-    public Node2(String nodeName, PetriNet petriNet, BalloonMarking marking, BalloonCallbackStorage callbackStorage) {
-        super(nodeName, petriNet, marking, callbackStorage);
-    }
-
-    @Override
-    protected void nodeLoop() {
-
-        // TODO: Implementation by user
-
-    }
-}
diff --git a/src/main/resources/nets/client-net.pnml b/src/main/resources/nets/client-net.pnml
new file mode 100644
index 0000000000000000000000000000000000000000..421c11db87348f47b76e77eebd61db65fb8a1aeb
--- /dev/null
+++ b/src/main/resources/nets/client-net.pnml
@@ -0,0 +1,47 @@
+<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="req1">
+                    <name>
+                        <text>req1</text>
+                    </name>
+                    <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
+                        <node>n1</node>
+                        <subnet>s1</subnet>
+                    </toolspecific>
+                    <initialMarking>
+                        <text>0</text>
+                    </initialMarking>
+                </place>
+                <place id="res1">
+                    <name>
+                        <text>res1</text>
+                    </name>
+                    <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
+                        <node>n1</node>
+                        <subnet>s1</subnet>
+                    </toolspecific>
+                    <initialMarking>
+                        <text>0</text>
+                    </initialMarking>
+                </place>
+            </page>
+        </page>
+        <name>
+            <text>ServiceNet</text>
+        </name>
+        <toolspecific tool="de.tudresden.inf.st.pnml.splitter" version="0.0.1">
+            <ports>
+                <port limit="-1" name="sampleService" placeType="creq">req1</port>
+                <port limit="-1" name="sampleService" placeType="cres">res1</port>
+                <port limit="16" name="sampleService" placeType="sreq">serverIn</port>
+                <port limit="16" name="sampleService" placeType="sres">serverOut</port>
+            </ports>
+        </toolspecific>
+    </net>
+</pnml>
diff --git a/src/main/resources/nets/publisher-net.pnml b/src/main/resources/nets/publisher-net.pnml
index 96dd206a91f563ae8e70b9e0d2493253bddd502f..c358e0cb73e38d49f54ab093470ad30a60bd1b9e 100644
--- a/src/main/resources/nets/publisher-net.pnml
+++ b/src/main/resources/nets/publisher-net.pnml
@@ -1,58 +1,33 @@
-<pnml xmlns="http://www.pnml.org/version-2009/grammar/pnml">
-    <net id="pub-net-1" type="http://www.pnml.org/version-2009/grammar/ptnet">
+<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="channelPage">
-                <place id="channelInPlace">
+            <page id="sourcePage">
+                <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
+                    <type>nodePage</type>
+                </toolspecific>
+                <place id="pub1">
                     <name>
-                        <text>channelInPlace</text>
+                        <text>pub1</text>
                     </name>
                     <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
-                        <balloonMarking>
-                            <tokens>
-                                <token> { "field" : "Test", "fieldList" : [ "TestListElement" ] } </token>
-                            </tokens>
-                        </balloonMarking>
-                        <location>loc2</location>
-                        <subnet>locA</subnet>
+                        <node>n1</node>
+                        <subnet>s1</subnet>
                     </toolspecific>
                     <initialMarking>
-                        <text>1</text>
+                        <text>0</text>
                     </initialMarking>
                 </place>
-                <transition id="channelTransition-publisher-0">
-                    <name>
-                        <text>channelTransition-publisher-0</text>
-                    </name>
-                    <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.0.1">
-
-                        <location>loc2</location>
-                        <type>limitedChannelOutType</type>
-                        <subnet>locA</subnet>
-                        <topic>sampleTopic</topic>
-                        <inputlimit>10</inputlimit>
-                        <outputlimit>10</outputlimit>
-                        <inputsignalbindings/>
-                    </toolspecific>
-                </transition>
-                <arc id="a1" source="channelInPlace" target="channelTransition-publisher-0">
-                </arc>
-            </page>
-            <page id="sourcePage">
-                <referencePlace id="rp1" ref="channelInPlace">
-                    <name>
-                        <text>rp1</text>
-                    </name>
-                    <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
-
-
-                        <location>loc2</location>
-                        <subnet>locA</subnet>
-                    </toolspecific>
-                </referencePlace>
             </page>
         </page>
         <name>
-            <text>topicTest1</text>
+            <text>TopicNet</text>
         </name>
+        <toolspecific tool="de.tudresden.inf.st.pnml.splitter" version="0.0.1">
+            <ports>
+                <port name="sampleTopic" placeType="pub">pub1</port>
+                <port name="sampleTopic" placeType="sub">sub1</port>
+            </ports>
+        </toolspecific>
     </net>
 </pnml>
diff --git a/src/main/resources/nets/server-net.pnml b/src/main/resources/nets/server-net.pnml
new file mode 100644
index 0000000000000000000000000000000000000000..c37a6389c81ad4ecd109dcbd75e8b4e9d07465e7
--- /dev/null
+++ b/src/main/resources/nets/server-net.pnml
@@ -0,0 +1,48 @@
+<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">
+                <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
+                    <type>serverPrototype</type>
+                    <serviceName>sampleService</serviceName>
+                </toolspecific>
+                <place id="serverIn">
+                    <name>
+                        <text>serverIn</text>
+                    </name>
+                    <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
+                        <node>n2</node>
+                        <subnet>s2</subnet>
+                    </toolspecific>
+                    <initialMarking>
+                        <text>0</text>
+                    </initialMarking>
+                </place>
+                <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>
+                    </toolspecific>
+                    <initialMarking>
+                        <text>0</text>
+                    </initialMarking>
+                </place>
+            </page>
+        </page>
+        <name>
+            <text>ServiceNet</text>
+        </name>
+        <toolspecific tool="de.tudresden.inf.st.pnml.splitter" version="0.0.1">
+            <ports>
+                <port limit="-1" name="sampleService" placeType="creq">req1</port>
+                <port limit="-1" name="sampleService" placeType="cres">res1</port>
+                <port limit="16" name="sampleService" placeType="sreq">serverIn</port>
+                <port limit="16" name="sampleService" placeType="sres">serverOut</port>
+            </ports>
+        </toolspecific>
+    </net>
+</pnml>
diff --git a/src/main/resources/nets/subscriber-net.pnml b/src/main/resources/nets/subscriber-net.pnml
index f463ea0a1ad38ed1be507183bfa1201a5439fae6..7035978904a1dc608fe369346e3c6b98dfe8e356 100644
--- a/src/main/resources/nets/subscriber-net.pnml
+++ b/src/main/resources/nets/subscriber-net.pnml
@@ -1,94 +1,33 @@
-<pnml xmlns="http://www.pnml.org/version-2009/grammar/pnml">
-    <net id="sub-net-1" type="http://www.pnml.org/version-2009/grammar/ptnet">
+<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">
-                <place id="outRefPlace">
+                <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
+                    <type>nodePage</type>
+                </toolspecific>
+                <place id="sub1">
                     <name>
-                        <text>outRefPlace</text>
+                        <text>sub1</text>
                     </name>
                     <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
-                        <location>loc3</location>
-                        <subnet>locB</subnet>
+                        <node>n3</node>
+                        <subnet>s3</subnet>
                     </toolspecific>
                     <initialMarking>
                         <text>0</text>
                     </initialMarking>
                 </place>
-
-                <place id="p2">
-                    <name>
-                        <text>p2</text>
-                    </name>
-                    <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
-                        <location>loc3</location>
-                        <subnet>locB</subnet>
-                    </toolspecific>
-                    <initialMarking>
-                        <text>0</text>
-                    </initialMarking>
-                </place>
-
-                <transition id="t2">
-                    <name>
-                        <text>t2</text>
-                    </name>
-                    <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
-                        <location>loc3</location>
-                        <subnet>locB</subnet>
-                    </toolspecific>
-                </transition>
-
-                <transition id="t3">
-                    <name>
-                        <text>t3</text>
-                    </name>
-                    <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
-                        <location>loc3</location>
-                        <subnet>locB</subnet>
-                    </toolspecific>
-                </transition>
-
-                <arc id="a3" source="outRefPlace" target="t2">
-                </arc>
-                <arc id="a4" source="t2" target="p2">
-                </arc>
-                <arc id="a5" source="p2" target="t3">
-                </arc>
-
-            </page>
-            <page id="channelPage">
-                <transition id="channelTransition-subscriber-0">
-                    <name>
-                        <text>channelTransition-subscriber-0</text>
-                    </name>
-                    <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.0.1">
-
-                        <location>loc3</location>
-                        <type>limitedChannelInType</type>
-                        <subnet>locB</subnet>
-                        <topic>sampleTopic</topic>
-                        <inputlimit>10</inputlimit>
-                        <outputlimit>10</outputlimit>
-                        <inputsignalbindings/>
-                    </toolspecific>
-                </transition>
-                <referencePlace id="rp2" ref="outRefPlace">
-                    <name>
-                        <text>rp2</text>
-                    </name>
-                    <toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
-
-
-                        <location>loc3</location>
-                        <subnet>locB</subnet>
-                    </toolspecific>
-                </referencePlace>
-                <arc id="a2" source="channelTransition-subscriber-0" target="rp2">
-                </arc>
             </page>
         </page>
         <name>
-            <text>topicTest1</text>
+            <text>TopicNet</text>
         </name>
+        <toolspecific tool="de.tudresden.inf.st.pnml.splitter" version="0.0.1">
+            <ports>
+                <port name="sampleTopic" placeType="pub">pub1</port>
+                <port name="sampleTopic" placeType="sub">sub1</port>
+            </ports>
+        </toolspecific>
     </net>
 </pnml>