diff --git a/ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/SharedMainParts.java b/ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/SharedMainParts.java
index b51ab9338503a4d16f1d2b1d827ab53af5ea06e0..280d089bc2a0ed4926ece798d1cc7ecb392f158c 100644
--- a/ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/SharedMainParts.java
+++ b/ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/SharedMainParts.java
@@ -28,8 +28,8 @@ public abstract class SharedMainParts<MqttHandler extends SharedMainParts.MqttHa
   private final String TOPIC_EXIT;
   private final String TOPIC_SCENE_INIT;
 
-  private final String TOPIC_SUFFIX_COORDINATOR_STATUS = "status";
-  private final String TOPIC_SUFFIX_COORDINATOR_COMMAND = "command";
+  private static final String TOPIC_SUFFIX_COORDINATOR_STATUS = "status";
+  private static final String TOPIC_SUFFIX_COORDINATOR_COMMAND = "command";
 
   protected MqttHandler mainHandler;
   protected WorldModel model;
@@ -193,6 +193,7 @@ public abstract class SharedMainParts<MqttHandler extends SharedMainParts.MqttHa
 
     SELF setHost(String host) throws java.io.IOException;
 
+    @SuppressWarnings("UnusedReturnValue")
     boolean waitUntilReady(long value, TimeUnit unit);
   }
 
diff --git a/ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/Util.java b/ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/Util.java
index e4ca8598e02d52aeac9d1fda7130687004e7e8a6..1b8b116cf7dd075207d3b3177f619b543841a814 100644
--- a/ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/Util.java
+++ b/ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/Util.java
@@ -14,7 +14,9 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 /**
  * Helper method dealing with config.
@@ -58,11 +60,18 @@ public class Util {
     return pathToModuleDirectory("ros3rag.common");
   }
 
+  private final static Set<String> modules = new HashSet<>() {{
+    add("ros3rag.placeA");
+    add("ros3rag.placeB");
+    add("ros3rag.common");
+    add("ros3rag.coordinator");
+  }};
+
   public static Path pathToModuleDirectory(String moduleName) {
     Path current = Paths.get("").toAbsolutePath();
     String currentFileName = current.getFileName().toString();
     Path repoRoot;
-    if (currentFileName.equals("ros3rag.placeA") || currentFileName.equals("ros3rag.placeB") || currentFileName.equals("ros3rag.common")) {
+    if (modules.contains(currentFileName)) {
       // we are in some module, use parent
       repoRoot = current.getParent();
     } else if (current.resolve(moduleName).toFile().exists()) {
diff --git a/ros3rag.coordinator/build.gradle b/ros3rag.coordinator/build.gradle
index 956ee903a02d057061455748284523b250d670ac..ca9ba4a5c8626c22b0128f956c3ac91a6547c0a3 100644
--- a/ros3rag.coordinator/build.gradle
+++ b/ros3rag.coordinator/build.gradle
@@ -29,6 +29,7 @@ dependencies {
     jastadd2 fileTree(include: ['jastadd2.jar'], dir: '../libs')
     api group: 'org.fusesource.mqtt-client', name: 'mqtt-client', version: '1.15'
 
+    implementation project(':ros3rag.common')
 }
 
 sourceCompatibility = 11
diff --git a/ros3rag.coordinator/src/main/java/de/tudresden/inf/st/coordinator/MainCoordinator.java b/ros3rag.coordinator/src/main/java/de/tudresden/inf/st/coordinator/MainCoordinator.java
index 51d58a1f6e0c9f045609161a70f9c8460e032325..0d6989166ea9997e1dd30355e58c14a55e8b4f8f 100644
--- a/ros3rag.coordinator/src/main/java/de/tudresden/inf/st/coordinator/MainCoordinator.java
+++ b/ros3rag.coordinator/src/main/java/de/tudresden/inf/st/coordinator/MainCoordinator.java
@@ -6,12 +6,12 @@ import de.tudresden.inf.st.coordinator.ast.Coordinator;
 import de.tudresden.inf.st.coordinator.ast.MqttHandler;
 import de.tudresden.inf.st.coordinator.parser.CoordinatorParser;
 import de.tudresden.inf.st.coordinator.scanner.CoordinatorScanner;
+import de.tudresden.inf.st.ros3rag.common.Util;
 
 import java.io.IOException;
 import java.io.Reader;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
-import java.nio.file.Paths;
 import java.util.Arrays;
 import java.util.Set;
 import java.util.concurrent.CountDownLatch;
@@ -88,7 +88,8 @@ public class MainCoordinator {
   }
 
   private void parsedBuild() throws IOException, Parser.Exception {
-    Reader in = Files.newBufferedReader(Paths.get("src", "main", "resources", "ros3rag.coordinator"));
+    Reader in = Files.newBufferedReader(Util.pathToModuleDirectory("ros3rag.coordinator")
+        .resolve("src/main/resources/ros3rag.coordinator"));
 
     CoordinatorScanner scanner = new CoordinatorScanner(in);
     CoordinatorParser parser = new CoordinatorParser();