diff --git a/src/main/java/eu/hbp/mip/akka/ExperimentActor.java b/src/main/java/eu/hbp/mip/akka/ExperimentActor.java
new file mode 100644
index 0000000000000000000000000000000000000000..a783562464efd158bc7f3fa6219bcdb41fff2e86
--- /dev/null
+++ b/src/main/java/eu/hbp/mip/akka/ExperimentActor.java
@@ -0,0 +1,46 @@
+package eu.hbp.mip.akka;
+
+import akka.actor.Props;
+import akka.actor.UntypedActor;
+import akka.event.Logging;
+import akka.event.LoggingAdapter;
+import akka.japi.Creator;
+import eu.hbp.mip.messages.external.QueryResult;
+
+import java.util.UUID;
+
+/**
+ * Created by mirco on 30.11.16.
+ */
+public class ExperimentActor extends UntypedActor {
+
+    public static Props props(final UUID expUUID) {
+        return Props.create(new Creator<ExperimentActor>() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public ExperimentActor create() throws Exception {
+                return new ExperimentActor(expUUID);
+            }
+        });
+    }
+
+    LoggingAdapter log = Logging.getLogger(getContext().system(), this);
+
+    private final UUID expUUID;
+
+    private ExperimentActor(UUID expUUID) {
+        this.expUUID = expUUID;
+    }
+
+    @Override
+    public void onReceive(Object message) throws Throwable {
+        if (message instanceof QueryResult) {
+            QueryResult queryResult = (QueryResult) message;
+            log.info("received query result for : " + expUUID.toString());
+        }
+        else {
+            unhandled(message);
+        }
+    }
+}
diff --git a/src/main/java/eu/hbp/mip/akka/ListenerActor.java b/src/main/java/eu/hbp/mip/akka/ListenerActor.java
deleted file mode 100644
index c86140e717c4a9f9b474c142117540671b6a8c8e..0000000000000000000000000000000000000000
--- a/src/main/java/eu/hbp/mip/akka/ListenerActor.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package eu.hbp.mip.akka;
-
-import akka.actor.UntypedActor;
-import eu.hbp.mip.messages.external.Methods;
-import eu.hbp.mip.messages.external.QueryResult;
-import org.springframework.context.annotation.Scope;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-/**
- * Created by mirco on 24.10.16.
- */
-
-@Named("ListenerActor")
-@Scope("prototype")
-public class ListenerActor extends UntypedActor {
-
-    final ListeningService listeningService;
-    @Inject
-    public ListenerActor(@Named("ListeningService") ListeningService listeningService) {
-        this.listeningService = listeningService;
-    }
-
-    @Override
-    public void onReceive(Object message) throws Exception {
-        if (message instanceof QueryResult) {
-            QueryResult queryResult = (QueryResult) message;
-            listeningService.listen("received query result");
-        }
-        else if (message instanceof Methods) {
-            Methods methods = (Methods) message;
-            listeningService.listen("received methods");
-        }
-        else {
-            unhandled(message);
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/src/main/java/eu/hbp/mip/akka/SimpleActor.java b/src/main/java/eu/hbp/mip/akka/SimpleActor.java
new file mode 100644
index 0000000000000000000000000000000000000000..c57edbf2afda8c3dc51aaf20c2da630191544071
--- /dev/null
+++ b/src/main/java/eu/hbp/mip/akka/SimpleActor.java
@@ -0,0 +1,25 @@
+package eu.hbp.mip.akka;
+
+import akka.actor.UntypedActor;
+import akka.event.Logging;
+import akka.event.LoggingAdapter;
+import eu.hbp.mip.messages.external.Methods;
+
+/**
+ * Created by mirco on 30.11.16.
+ */
+public class SimpleActor extends UntypedActor {
+
+    LoggingAdapter log = Logging.getLogger(getContext().system(), this);
+
+    @Override
+    public void onReceive(Object message) throws Throwable {
+        if (message instanceof Methods) {
+            Methods methods = (Methods) message;
+            log.info("received methods");
+        }
+        else {
+            unhandled(message);
+        }
+    }
+}
diff --git a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
index 725831fc8ee68bd867e3e45fd0842e36f4e9d94b..4932a2add54f6564d7914dca636faa4f6c7b2135 100644
--- a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
@@ -1,14 +1,16 @@
 package eu.hbp.mip.controllers;
 
+import akka.actor.ActorRef;
 import akka.actor.ActorSelection;
 import akka.actor.ActorSystem;
+import akka.actor.Props;
 import com.google.common.collect.Lists;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
-import eu.hbp.mip.akka.ListenerActor;
-import eu.hbp.mip.akka.ListeningService;
+import eu.hbp.mip.akka.ExperimentActor;
+import eu.hbp.mip.akka.SimpleActor;
 import eu.hbp.mip.configuration.SecurityConfiguration;
 import eu.hbp.mip.messages.external.MethodsQuery;
 import eu.hbp.mip.model.Experiment;
@@ -215,7 +217,8 @@ public class ExperimentApi {
         StringBuilder response = new StringBuilder();
 
         ActorSelection wokenActor = actorSystem.actorSelection(wokenPath);
-        wokenActor.tell(new MethodsQuery(), new ListenerActor(new ListeningService()).getSelf());
+        ActorRef simpleActor = actorSystem.actorOf(Props.create(SimpleActor.class));
+        wokenActor.tell(new MethodsQuery(), simpleActor);
 
 
         // TODO: remove this
@@ -294,18 +297,19 @@ public class ExperimentApi {
         final eu.hbp.mip.messages.external.ExperimentQuery experimentQuery = experiment.computeQuery();
 
         ActorSelection wokenActor = actorSystem.actorSelection(wokenPath);
-        wokenActor.tell(experimentQuery, new ListenerActor(new ListeningService()).getSelf());
+        ActorRef experimentActor = actorSystem.actorOf(Props.create(ExperimentActor.class, experiment.getUuid()));
+        wokenActor.tell(experimentQuery, experimentActor);
     }
 
     private void sendExaremeExperiment(Experiment experiment) {
         // this runs in the background. For future optimization: use a thread pool
-        new Thread() {
-            @Override
-            public void run() {
-                String query = experiment.computeExaremeQuery();
-                String url = miningExaremeQueryUrl + "/" + EXAREME_LR_ALGO;
-
-                // Results are stored in the experiment object
+//        new Thread() {
+//            @Override
+//            public void run() {
+//                String query = experiment.computeExaremeQuery();
+//                String url = miningExaremeQueryUrl + "/" + EXAREME_LR_ALGO;
+//
+//                // Results are stored in the experiment object
 //                try {
 //                    executeExperiment(url, query, experiment);
 //                } catch (IOException e) {
@@ -319,8 +323,8 @@ public class ExperimentApi {
 //                    experiment.setResult("Unsupported variables !");
 //                }
 //                finishExpermient(experiment);
-            }
-        }.start();
+//            }
+//        }.start();
     }
 
     private void finishExpermient(Experiment experiment)