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 a9b2aaaa79ba460457015ac3147373b734a36544..bd96711cd071cef60d46a1ba1963c41f40c84231 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,43 +18,30 @@ public class Main {
 
     public static void main(java.lang.String[] args) throws IOException {
 
-        // PackageStructureBuilder.build("/home/sebastian/Desktop", "test", "test", null);
-        // GradleFile gf = new GradleFile();
-        // gf.setName("TestFile");
-        // System.out.println(gf.generateSettingsGradle("test-project-name"));
-
-        /*if(args.length != 5){
+        if(args.length != 1){
             System.out.println("Error: Invalid arguments.");
             return;
         }
 
-        String packageName = args[0];
-        String rootName = args[1];
-        String tokenClassPath = args[2];
-        String namespace = args[3];
-        String version = args[4];
-        */
-
-        // ObjectMapper gcObjectMapper = new ObjectMapper();
-        // GeneratorConfig config = gcObjectMapper.readValue(Files.readString(Paths.get(args[1])), new TypeReference<List<NetInfo>>(){});
+        String configPath = args[0];
+        // String configPath = "src/test/resources/GeneratorConfig.json";
 
-        GeneratorConfig gc = new GeneratorConfig("sample", "sample-pkg","/home/sebastian/jastadd-workspaces/dineros-linked-ws/pnml-relast-tools/pnml-relast-pkg-gen/src/test/java/Token.java",
-                "sample","0.1","/home/sebastian/jastadd-workspaces/dineros-linked-ws/pnml-relast-tools/pnml-relast-pkg-gen/src/test/resources/EngineConfig.json","localhost",
-                "http://localhost:11311","localhost","/home/sebastian/Desktop");
+        ObjectMapper generatorConfigObjectMapper = new ObjectMapper();
+        GeneratorConfig gc = generatorConfigObjectMapper.readValue(Files.readString(Paths.get(configPath)), GeneratorConfig.class);
+        // GeneratorConfig gc = new GeneratorConfig("sample", "sample-pkg","sample","0.1", "src/test/resources/EngineConfig.json","localhost",
+        //        "http://localhost:11311","localhost","/home/sebastian/Desktop");
 
         DinerosPackage dp = new DinerosPackage();
-        dp.setName(gc.getPackageName());
-        dp.setRootName(gc.getRootName());
-        dp.setNamespace(gc.getNamespace());
-        dp.setTokenClass(Files.readString(Paths.get(gc.getTokenClassPath())));
-        dp.setVersion(gc.getVersion());
+        dp.setName(gc.packageName);
+        dp.setRootName(gc.rootName);
+        dp.setNamespace(gc.namespace);
+        dp.setVersion(gc.version);
 
-        String configString = Files.readString(Paths.get(gc.getConfigFile()));
+        String configString = Files.readString(Paths.get(gc.configFile));
         ObjectMapper netObjectMapper = new ObjectMapper();
         List<NetInfo> petriNetFilePaths = Arrays.asList(netObjectMapper.readValue(configString, NetInfo[].class));
 
-        PackageStructureBuilder.build(gc.getTargetPath(), dp, petriNetFilePaths, ENGINE_VERSION
-                , gc.getRosHost(), gc.getRosMasterUri(), gc.getMqttHost());
-
+        PackageStructureBuilder.build(gc.targetPath, dp, petriNetFilePaths, ENGINE_VERSION
+                , gc.rosHost, gc.rosMasterUri, gc.mqttHost);
     }
 }
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 c32ab9b1b85d6a9e1bc2ff3282f0c57237fc56e9..6b97733abfa661274ce444de2c4c303218793eff 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,8 @@ 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, packagePath); // TODO fix
+            // includePnmlFiles(dinerosPackage, petriNetFilePaths, packagePath);
+            includeTokenClass(dinerosPackage);
 
             insertStringsAsFilesRecursive(dinerosPackage.getDir(0), packagePath);
 
@@ -318,21 +318,12 @@ public class PackageStructureBuilder {
     // TREE TO FILE TREE ////////////////
     /////////////////////////////////////
 
-    private static void includeTokenClass(DinerosPackage dinerosPackage, String packagePath){
+    private static void includeTokenClass(DinerosPackage dinerosPackage){
 
         for (PackageFile pf : dinerosPackage.allPackageFiles()) {
             if(pf.isTokenFile()){
                 String tokenClass = dinerosPackage.generateTokenClass();
-
-            /*    try (Writer writer = new BufferedWriter(new OutputStreamWriter(
-                        new FileOutputStream(packagePath + "/" +  dinerosPackage.getRootName() +  "/src/main/java/tudresden/inf/st/" +
-                                dinerosPackage.getNamespace() + "/Token.java"), StandardCharsets.UTF_8))) {
-                    writer.write(tokenClass);
-                }
-                catch (IOException ex) {
-                    System.err.println("ERROR: " + ex.getMessage());
-                    ex.printStackTrace();
-                }*/
+                pf.asTokenFile().setFileContent(tokenClass);
             }
         }
     }
@@ -408,7 +399,7 @@ public class PackageStructureBuilder {
                             String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType();
 
                             if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_SERVICE_REQUEST_OUT)) {
-                                pf.setName("Node" + i + "Server" + serviceCountMap.get(nets.get(i).getId()));
+                                pf.setName("Node" + i + "Server" + (serviceCountMap.get(nets.get(i).getId()) - 1));
                                 pf.asServerFile().generate();
                                 serviceCountMap.put(nets.get(i).getId(), serviceCountMap.get(nets.get(i).getId()) + 1);
                                 visitedPackageFileIDs.add(pf.getFileID());
diff --git a/src/main/java/de/tudresden/inf/st/pnml/gen/json/GeneratorConfig.java b/src/main/java/de/tudresden/inf/st/pnml/gen/json/GeneratorConfig.java
index 8d636601f3797df2b9ac4444e7836075b1389285..c54539b349651daa6d34b7c72d2823f6969381e7 100644
--- a/src/main/java/de/tudresden/inf/st/pnml/gen/json/GeneratorConfig.java
+++ b/src/main/java/de/tudresden/inf/st/pnml/gen/json/GeneratorConfig.java
@@ -2,107 +2,13 @@ package de.tudresden.inf.st.pnml.gen.json;
 
 public class GeneratorConfig {
 
-    private String packageName;
-    private String rootName;
-    private String tokenClassPath;
-    private String namespace;
-    private String version;
-    private String configFile;
-    private String rosHost;
-    private String rosMasterUri;
-    private String mqttHost;
-    private String targetPath;
-
-    public GeneratorConfig(String packageName, String rootName, String tokenClassPath, String namespace, String version, String configFile, String rosHost, String rosMasterUri, String mqttHost, String targetPath) {
-        this.packageName = packageName;
-        this.rootName = rootName;
-        this.tokenClassPath = tokenClassPath;
-        this.namespace = namespace;
-        this.version = version;
-        this.configFile = configFile;
-        this.rosHost = rosHost;
-        this.rosMasterUri = rosMasterUri;
-        this.mqttHost = mqttHost;
-        this.targetPath = targetPath;
-    }
-
-    public String getPackageName() {
-        return packageName;
-    }
-
-    public void setPackageName(String packageName) {
-        this.packageName = packageName;
-    }
-
-    public String getRootName() {
-        return rootName;
-    }
-
-    public void setRootName(String rootName) {
-        this.rootName = rootName;
-    }
-
-    public String getTokenClassPath() {
-        return tokenClassPath;
-    }
-
-    public void setTokenClassPath(String tokenClassPath) {
-        this.tokenClassPath = tokenClassPath;
-    }
-
-    public String getNamespace() {
-        return namespace;
-    }
-
-    public void setNamespace(String namespace) {
-        this.namespace = namespace;
-    }
-
-    public String getVersion() {
-        return version;
-    }
-
-    public void setVersion(String version) {
-        this.version = version;
-    }
-
-    public String getConfigFile() {
-        return configFile;
-    }
-
-    public void setConfigFile(String configFile) {
-        this.configFile = configFile;
-    }
-
-    public String getRosHost() {
-        return rosHost;
-    }
-
-    public void setRosHost(String rosHost) {
-        this.rosHost = rosHost;
-    }
-
-    public String getRosMasterUri() {
-        return rosMasterUri;
-    }
-
-    public void setRosMasterUri(String rosMasterUri) {
-        this.rosMasterUri = rosMasterUri;
-    }
-
-    public String getMqttHost() {
-        return mqttHost;
-    }
-
-    public void setMqttHost(String mqttHost) {
-        this.mqttHost = mqttHost;
-    }
-
-    public String getTargetPath() {
-        return targetPath;
-    }
-
-    public void setTargetPath(String targetPath) {
-        this.targetPath = targetPath;
-    }
+    public String packageName;
+    public String rootName;
+    public String namespace;
+    public String version;
+    public String configFile;
+    public String rosHost;
+    public String rosMasterUri;
+    public String mqttHost;
+    public String targetPath;
 }
diff --git a/src/test/java/Token.java b/src/test/java/Token.java
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/test/resources/GeneratorConfig.json b/src/test/resources/GeneratorConfig.json
new file mode 100644
index 0000000000000000000000000000000000000000..9c185f5402837000fa30cd96c8939720eb5e538b
--- /dev/null
+++ b/src/test/resources/GeneratorConfig.json
@@ -0,0 +1,11 @@
+{
+  "packageName" : "sample",
+  "rootName" : "sample-pkg",
+  "namespace" : "sample",
+  "version" : "0.1",
+  "configFile" : "/home/sebastian/jastadd-workspaces/dineros-linked-ws/pnml-relast-tools/pnml-relast-pkg-gen/src/test/resources/EngineConfig.json",
+  "rosHost" : "localhost",
+  "rosMasterUri" : "http://localhost:11311",
+  "mqttHost" : "localhost",
+  "targetPath" :"/home/sebastian/Desktop"
+}
\ No newline at end of file