diff --git a/src/main/java/de/tudresden/inf/st/pnml/gen/Main.java b/src/main/java/de/tudresden/inf/st/pnml/gen/Main.java
index a993fdbda0d11ee29172e0d67b0b6c7bacc0d651..f65e2badb9af8dc6d84e2f9e0f86318da2d7844f 100644
--- a/src/main/java/de/tudresden/inf/st/pnml/gen/Main.java
+++ b/src/main/java/de/tudresden/inf/st/pnml/gen/Main.java
@@ -18,13 +18,13 @@ public class Main {
 
     public static void main(java.lang.String[] args) throws IOException {
 
-       // if(args.length != 1){
-     //       System.out.println("Error: Invalid arguments.");
-    //        return;
-    //    }
+        if(args.length != 1){
+            System.out.println("Error: Invalid arguments.");
+            return;
+        }
 
-        //String configPath = args[0];
-        String configPath = "src/test/resources/GeneratorConfig.json";
+        String configPath = args[0];
+        //String configPath = "src/test/resources/GeneratorConfig.json";
 
         ObjectMapper generatorConfigObjectMapper = new ObjectMapper();
         GeneratorConfig gc = generatorConfigObjectMapper.readValue(Files.readString(Paths.get(configPath)), GeneratorConfig.class);
diff --git a/src/main/java/de/tudresden/inf/st/pnml/gen/builders/PackageStructureBuilder.java b/src/main/java/de/tudresden/inf/st/pnml/gen/builders/PackageStructureBuilder.java
index e9864301b80adbee6652b6798ebf1da2b70135c4..b9c685bc9e92d895b40121296dfda2e8f1476aaf 100644
--- a/src/main/java/de/tudresden/inf/st/pnml/gen/builders/PackageStructureBuilder.java
+++ b/src/main/java/de/tudresden/inf/st/pnml/gen/builders/PackageStructureBuilder.java
@@ -41,8 +41,6 @@ public class PackageStructureBuilder {
             includeDirectoriesRecursive(dinerosPackage.getDir(0), packagePath);
             includeTemplateFiles(dinerosPackage, nets, engineVersion, stringNetPaths, rosHost, rosMasterUri, mqttHost);
             includeFilesInPackageRecursive(dinerosPackage.getDir(0), packagePath);
-            // includePnmlFiles(dinerosPackage, petriNetFilePaths, packagePath);
-            includeTokenClass(dinerosPackage);
 
             insertStringsAsFilesRecursive(dinerosPackage.getDir(0), packagePath);
 
@@ -126,51 +124,16 @@ public class PackageStructureBuilder {
                 }
             }
 
-            if (pd.getName().equals("communication")) {
-                for (int i = 0; i < nets.size(); i++) {
-
-                    int serverCount = 0;
-                    int subscriberCount = 0;
-
-                    for (Transition t : nets.get(i).allTransitions()) {
-
-                        String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType();
-
-                        if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_SERVICE_REQUEST_OUT)) {
-                            ServerFile server = new ServerFile();
-                            server.setName("Node" + i + "Server" + serverCount);
-                            server.setNetCount(i);
-                            server.setServerCount(serverCount);
-                            server.setFileID(UUID.randomUUID().toString());
-                            pd.addFile(server);
-                            serverCount++;
-                        }
-                        if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_TOPIC_LIMITED_IN)
-                                || transitionType.equals(PnmlConstants.TRANSITION_TYPE_TOPIC_UNLIMITED_IN)) {
-                            SubscriberFile subscriber = new SubscriberFile();
-                            subscriber.setName("Node" + i + "Subscriber" + subscriberCount);
-                            subscriber.setNetCount(i);
-                            subscriber.setSubscriberCount(subscriberCount);
-                            subscriber.setFileID(UUID.randomUUID().toString());
-                            pd.addFile(subscriber);
-                            subscriberCount++;
-                        }
-                    }
-                }
-            }
+            if (pd.getName().equals("handling")) {
+                MapperFile handlerBinding = new MapperFile();
+                handlerBinding.setName("HandlerBinding");
+                handlerBinding.setFileID(UUID.randomUUID().toString());
+                pd.addFile(handlerBinding);
 
-            if (pd.getName().equals("callback")) {
-                MapperFile callbackMapper = new MapperFile();
-                callbackMapper.setName("CallbackMapper");
-                callbackMapper.setFileID(UUID.randomUUID().toString());
-                pd.addFile(callbackMapper);
-            }
-
-            if (pd.getName().equals("balloon")) {
-                TokenFile tokenFile = new TokenFile();
-                tokenFile.setName("Token");
-                tokenFile.setFileID(UUID.randomUUID().toString());
-                pd.addFile(tokenFile);
+                MapperFile handlerFunctions = new MapperFile();
+                handlerFunctions.setName("HandlerFunctions");
+                handlerFunctions.setFileID(UUID.randomUUID().toString());
+                pd.addFile(handlerFunctions);
             }
 
             if(pd.getName().equals("nets")){
@@ -221,25 +184,6 @@ public class PackageStructureBuilder {
                 engineJar.setFileID(UUID.randomUUID().toString());
                 pd.addFile(engineJar);
             }
-
-            if (pd.getName().equals("communication")) {
-                StaticFile server = new StaticFile();
-                server.setName("AbstractDinerosServer.java");
-                server.setFileID(UUID.randomUUID().toString());
-                pd.addFile(server);
-
-                StaticFile subscriber = new StaticFile();
-                subscriber.setName("AbstractDinerosSubscriber.java");
-                subscriber.setFileID(UUID.randomUUID().toString());
-                pd.addFile(subscriber);
-            }
-
-            if (pd.getName().equals("callback")) {
-                StaticFile cb = new StaticFile();
-                cb.setName("AbstractNetCallback.java");
-                cb.setFileID(UUID.randomUUID().toString());
-                pd.addFile(cb);
-            }
         }
     }
 
@@ -288,17 +232,9 @@ public class PackageStructureBuilder {
         namespaceDir.setName(namespace);
         st.addDir(namespaceDir);
 
-        PackageDirectory balloon = new PackageDirectory();
-        balloon.setName("balloon");
-        namespaceDir.addDir(balloon);
-
-        PackageDirectory callback = new PackageDirectory();
-        callback.setName("callback");
-        namespaceDir.addDir(callback);
-
-        PackageDirectory communication = new PackageDirectory();
-        communication.setName("communication");
-        namespaceDir.addDir(communication);
+        PackageDirectory handling = new PackageDirectory();
+        handling.setName("handling");
+        namespaceDir.addDir(handling);
 
         PackageDirectory nodes = new PackageDirectory();
         nodes.setName("nodes");
@@ -321,16 +257,6 @@ public class PackageStructureBuilder {
     // TREE TO FILE TREE ////////////////
     /////////////////////////////////////
 
-    private static void includeTokenClass(DinerosPackage dinerosPackage){
-
-        for (PackageFile pf : dinerosPackage.allPackageFiles()) {
-            if(pf.isTokenFile()){
-                String tokenClass = dinerosPackage.generateTokenClass();
-                pf.asTokenFile().setFileContent(tokenClass);
-            }
-        }
-    }
-
     private static void includeTemplateFiles(DinerosPackage dinerosPackage, List<PetriNet> nets, String engineVersion,
                                              List<String> petriNetFiles, String rosHost, String rosMasterUri, String mqttHost) {
 
@@ -362,7 +288,7 @@ public class PackageStructureBuilder {
                     if (pf.isSubscriberFile()) {
                         for (Transition t : nets.get(i).allTransitions()) {
 
-                            String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType();
+                          /*  String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType();
 
                             if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_TOPIC_LIMITED_IN)
                                     || transitionType.equals(PnmlConstants.TRANSITION_TYPE_TOPIC_UNLIMITED_IN)) {
@@ -370,7 +296,7 @@ public class PackageStructureBuilder {
                                 pf.asSubscriberFile().generate();
                                 //subscriberCountMap.put(nets.get(i).getId(), subscriberCountMap.get(nets.get(i).getId()) + 1);
                                 visitedPackageFileIDs.add(pf.getFileID());
-                            }
+                            }*/
                         }
                     }
 
@@ -378,14 +304,14 @@ public class PackageStructureBuilder {
 
                         for (Transition t : nets.get(i).allTransitions()) {
 
-                            String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType();
+                           /* String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType();
 
                             if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_SERVICE_REQUEST_OUT)) {
                                 pf.setName("Node" + pf.asServerFile().getNetCount() + "Subscriber" + pf.asServerFile().getServerCount());
                                 pf.asServerFile().generate();
                                // serviceCountMap.put(nets.get(i).getId(), serviceCountMap.get(nets.get(i).getId()) + 1);
                                 visitedPackageFileIDs.add(pf.getFileID());
-                            }
+                            }*/
                         }
                     }
 
@@ -411,11 +337,11 @@ public class PackageStructureBuilder {
         for (PetriNet net : nets) {
             for (Transition t : net.allTransitions()) {
 
-                String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType();
+              /*  String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType();
 
                 if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_SERVICE_REQUEST_OUT)) {
                     countMap.put(net.getId(), 1);
-                }
+                }*/
             }
         }
         return countMap;
@@ -428,12 +354,12 @@ public class PackageStructureBuilder {
         for (PetriNet net : nets) {
             for (Transition t : net.allTransitions()) {
 
-                String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType();
+                /* String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType();
 
                 if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_TOPIC_LIMITED_IN)
                         || transitionType.equals(PnmlConstants.TRANSITION_TYPE_TOPIC_UNLIMITED_IN)) {
                     countMap.put(net.getId(), 1);
-                }
+                }*/
             }
         }
         return countMap;
diff --git a/src/main/java/de/tudresden/inf/st/pnml/gen/generators/JavaClassGenUtil.java b/src/main/java/de/tudresden/inf/st/pnml/gen/generators/JavaClassGenUtil.java
index a98a57f214f066d4f87aa1b025d5735805d29a4c..e1996c07080373054469b593a3e0fb68982e1bec 100644
--- a/src/main/java/de/tudresden/inf/st/pnml/gen/generators/JavaClassGenUtil.java
+++ b/src/main/java/de/tudresden/inf/st/pnml/gen/generators/JavaClassGenUtil.java
@@ -35,7 +35,7 @@ public class JavaClassGenUtil extends AbstractGenUtil{
             int subscriberCount = 0;
 
             for(Transition t : petriNetList.get(i).allTransitions()){
-
+/*
                 String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType();
                 String subnet = t.asInputSignalTransition().getStaticTransitionInformation().getSubNet();
 
@@ -47,7 +47,7 @@ public class JavaClassGenUtil extends AbstractGenUtil{
                         || transitionType.equals(PnmlConstants.TRANSITION_TYPE_TOPIC_UNLIMITED_IN) ){
                     subscriberInfos.add(new SubscriberInfo("node" + i, subnet, "Node" + i + "Subscriber" + subscriberCount));
                     subscriberCount++;
-                }
+                }*/
             }
         }