diff --git a/pom.xml b/pom.xml
index c5f0524abf8d882942ff877ce206c70fef37385a..9edc39b403d4d0eeaee30f786fac9ac1ef2edb17 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,7 +47,7 @@
         <spring-data-jpa.version>1.10.11.RELEASE</spring-data-jpa.version>
         <spring-boot-starter-actuator.version>1.4.7.RELEASE</spring-boot-starter-actuator.version>
         <aspectjweaver.version>1.8.9</aspectjweaver.version>
-        <woken-messages.version>ee60327</woken-messages.version>
+        <woken-messages.version>2.1.1</woken-messages.version>
         <javax-inject.version>1</javax-inject.version>
         <akka.version>2.3.16</akka.version>
         <spring-context.version>4.3.4.RELEASE</spring-context.version>
@@ -55,18 +55,13 @@
     </properties>
 
     <repositories>
-        <!--<repository>
-            <id>artifactory</id>
-            <name>artifactory</name>
-            <url>http://lab01560.intranet.chuv:9082/artifactory/libs-release-local</url>
-        </repository>-->
         <repository>
             <snapshots>
                 <enabled>false</enabled>
             </snapshots>
-            <id>artifactory-libs-release-local</id>
-            <name>artifactory</name>
-            <url>http://hbps1.chuv.ch/artifactory/libs-release-local</url>
+            <id>bintray-hbpmedical-maven</id>
+            <name>bintray</name>
+            <url>https://dl.bintray.com/hbpmedical/maven</url>
         </repository>
     </repositories>
 
@@ -186,7 +181,7 @@
             <version>${aspectjweaver.version}</version>
         </dependency>
         <dependency>
-            <groupId>woken-messages</groupId>
+            <groupId>eu.humanbrainproject.mip</groupId>
             <artifactId>woken-messages_2.11</artifactId>
             <version>${woken-messages.version}</version>
         </dependency>
diff --git a/src/main/java/eu/hbp/mip/akka/ExperimentActor.java b/src/main/java/eu/hbp/mip/akka/ExperimentActor.java
index 9b42d43d155e31b47370dc80e1a638b84a195162..da7cc21f83418f6caccac53f78e13b669c6e2283 100644
--- a/src/main/java/eu/hbp/mip/akka/ExperimentActor.java
+++ b/src/main/java/eu/hbp/mip/akka/ExperimentActor.java
@@ -1,8 +1,8 @@
 package eu.hbp.mip.akka;
 
 import akka.actor.UntypedActor;
-import eu.hbp.mip.messages.external.QueryError;
-import eu.hbp.mip.messages.external.QueryResult;
+import eu.hbp.mip.woken.messages.external.QueryError;
+import eu.hbp.mip.woken.messages.external.QueryResult;
 import eu.hbp.mip.model.Experiment;
 import eu.hbp.mip.repositories.ExperimentRepository;
 import org.apache.log4j.Logger;
diff --git a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
index db3525a3118d7f0c78085cbc44c865cb98f7b8c1..06174ee3a5446777c91c66d719955aabe7c0c086 100644
--- a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
@@ -12,8 +12,8 @@ import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
 import eu.hbp.mip.akka.SpringExtension;
 import eu.hbp.mip.configuration.SecurityConfiguration;
-import eu.hbp.mip.messages.external.Methods;
-import eu.hbp.mip.messages.external.MethodsQuery;
+import eu.hbp.mip.woken.messages.external.Methods;
+import eu.hbp.mip.woken.messages.external.MethodsQuery;
 import eu.hbp.mip.model.Experiment;
 import eu.hbp.mip.model.ExperimentQuery;
 import eu.hbp.mip.model.User;
@@ -302,7 +302,7 @@ public class ExperimentApi {
 
     private void sendExperiment(Experiment experiment) throws MalformedURLException {
         // this runs in the background. For future optimization: use a thread pool
-        final eu.hbp.mip.messages.external.ExperimentQuery experimentQuery = experiment.prepareQuery();
+        final eu.hbp.mip.woken.messages.external.ExperimentQuery experimentQuery = experiment.prepareQuery();
 
         LOGGER.info("Akka is trying to reach remote " + wokenRefPath);
         ActorSelection wokenActor = actorSystem.actorSelection(wokenRefPath);
diff --git a/src/main/java/eu/hbp/mip/controllers/MiningApi.java b/src/main/java/eu/hbp/mip/controllers/MiningApi.java
index 632dcd83095cb0e4d2cf870736b4ba2760540871..790876e70174dcdf2be2e94968a3d2762c2278cb 100644
--- a/src/main/java/eu/hbp/mip/controllers/MiningApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/MiningApi.java
@@ -4,7 +4,7 @@ import akka.actor.ActorSelection;
 import akka.actor.ActorSystem;
 import akka.pattern.Patterns;
 import akka.util.Timeout;
-import eu.hbp.mip.messages.external.QueryResult;
+import eu.hbp.mip.woken.messages.external.QueryResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.log4j.Logger;
diff --git a/src/main/java/eu/hbp/mip/model/Experiment.java b/src/main/java/eu/hbp/mip/model/Experiment.java
index 9808ca4bb34d1dae7a7fb1933f116fa53d9ade10..7414f3461c9f666556bcb7a6af64fabb5368b741 100644
--- a/src/main/java/eu/hbp/mip/model/Experiment.java
+++ b/src/main/java/eu/hbp/mip/model/Experiment.java
@@ -6,9 +6,9 @@ import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
 import com.google.gson.annotations.Expose;
 import com.google.gson.reflect.TypeToken;
-import eu.hbp.mip.messages.external.Algorithm;
-import eu.hbp.mip.messages.external.ExperimentQuery;
-import eu.hbp.mip.messages.external.*;
+import eu.hbp.mip.woken.messages.external.Algorithm;
+import eu.hbp.mip.woken.messages.external.ExperimentQuery;
+import eu.hbp.mip.woken.messages.external.*;
 import eu.hbp.mip.utils.TypesConvert;
 import org.hibernate.annotations.Cascade;
 import scala.collection.JavaConverters;
@@ -108,15 +108,15 @@ public class Experiment {
             validations.add(new Validation(v.getCode(), v.getName(), TypesConvert.algoParamsToHashMap(v.getParameters())));
         }
 
-        Seq<VariableId> variablesSeq = JavaConverters.asScalaIteratorConverter(
-                TypesConvert.variablesToVariableIds(model.getQuery().getVariables()).iterator()).asScala().toSeq().toList();
-        Seq<VariableId> covariablesSeq = JavaConverters.asScalaIteratorConverter(
-                TypesConvert.variablesToVariableIds(model.getQuery().getCovariables()).iterator()).asScala().toSeq().toList();
-        Seq<VariableId> groupingSeq = JavaConverters.asScalaIteratorConverter(
-                TypesConvert.variablesToVariableIds(model.getQuery().getGrouping()).iterator()).asScala().toSeq().toList();
-        Seq<Algorithm> algorithmsSeq = JavaConverters.asScalaIteratorConverter(
+        scala.collection.immutable.List<VariableId> variablesSeq = JavaConverters.asScalaIteratorConverter(
+                TypesConvert.variablesToVariableIds(model.getQuery().getVariables()).iterator()).asScala().toList();
+        scala.collection.immutable.List<VariableId> covariablesSeq = JavaConverters.asScalaIteratorConverter(
+                TypesConvert.variablesToVariableIds(model.getQuery().getCovariables()).iterator()).asScala().toList();
+        scala.collection.immutable.List<VariableId> groupingSeq = JavaConverters.asScalaIteratorConverter(
+                TypesConvert.variablesToVariableIds(model.getQuery().getGrouping()).iterator()).asScala().toList();
+        scala.collection.immutable.List<Algorithm> algorithmsSeq = JavaConverters.asScalaIteratorConverter(
                 algorithms.iterator()).asScala().toSeq().toList();
-        Seq<Validation> validationsSeq = JavaConverters.asScalaIteratorConverter(
+        scala.collection.immutable.List<Validation> validationsSeq = JavaConverters.asScalaIteratorConverter(
                 validations.iterator()).asScala().toSeq().toList();
 
         String filters = model.getQuery().getFilters();
diff --git a/src/main/java/eu/hbp/mip/model/MiningQuery.java b/src/main/java/eu/hbp/mip/model/MiningQuery.java
index 41fde12d72a7e7299c889c2c76bc64b88eaf03ec..d440a876c1a49beec517ab00afc4678b042a9ee6 100644
--- a/src/main/java/eu/hbp/mip/model/MiningQuery.java
+++ b/src/main/java/eu/hbp/mip/model/MiningQuery.java
@@ -1,7 +1,7 @@
 package eu.hbp.mip.model;
 
 import com.google.gson.Gson;
-import eu.hbp.mip.messages.external.VariableId;
+import eu.hbp.mip.woken.messages.external.VariableId;
 import eu.hbp.mip.utils.TypesConvert;
 import scala.collection.JavaConverters;
 import scala.collection.Seq;
@@ -73,19 +73,19 @@ public class MiningQuery {
         this.algorithm = algorithm;
     }
 
-    public eu.hbp.mip.messages.external.MiningQuery prepareQuery() {
+    public eu.hbp.mip.woken.messages.external.MiningQuery prepareQuery() {
 
-        eu.hbp.mip.messages.external.Algorithm scalaAlgorithm = new eu.hbp.mip.messages.external.Algorithm(
+        eu.hbp.mip.woken.messages.external.Algorithm scalaAlgorithm = new eu.hbp.mip.woken.messages.external.Algorithm(
                 algorithm.getCode(), algorithm.getName(), TypesConvert.algoParamsToHashMap(algorithm.getParameters()));
 
-        Seq<VariableId> variablesSeq = JavaConverters.asScalaIteratorConverter(
-                TypesConvert.variablesToVariableIds(variables).iterator()).asScala().toSeq().toList();
-        Seq<VariableId> covariablesSeq = JavaConverters.asScalaIteratorConverter(
-                TypesConvert.variablesToVariableIds(covariables).iterator()).asScala().toSeq().toList();
-        Seq<VariableId> groupingSeq = JavaConverters.asScalaIteratorConverter(
-                TypesConvert.variablesToVariableIds(grouping).iterator()).asScala().toSeq().toList();
+        scala.collection.immutable.List<VariableId> variablesSeq = JavaConverters.asScalaIteratorConverter(
+                TypesConvert.variablesToVariableIds(variables).iterator()).asScala().toList();
+        scala.collection.immutable.List<VariableId> covariablesSeq = JavaConverters.asScalaIteratorConverter(
+                TypesConvert.variablesToVariableIds(covariables).iterator()).asScala().toList();
+        scala.collection.immutable.List<VariableId> groupingSeq = JavaConverters.asScalaIteratorConverter(
+                TypesConvert.variablesToVariableIds(grouping).iterator()).asScala().toList();
 
-        return new eu.hbp.mip.messages.external.MiningQuery(
+        return new eu.hbp.mip.woken.messages.external.MiningQuery(
                 variablesSeq, covariablesSeq, groupingSeq, filters, scalaAlgorithm);
     }
 
diff --git a/src/main/java/eu/hbp/mip/utils/TypesConvert.java b/src/main/java/eu/hbp/mip/utils/TypesConvert.java
index a419bd0431fba6ca8c62a58bebf4b50408d750f8..4032483487c3e0f25a19b0eabb74c22f86987072 100644
--- a/src/main/java/eu/hbp/mip/utils/TypesConvert.java
+++ b/src/main/java/eu/hbp/mip/utils/TypesConvert.java
@@ -1,6 +1,6 @@
 package eu.hbp.mip.utils;
 
-import eu.hbp.mip.messages.external.VariableId;
+import eu.hbp.mip.woken.messages.external.VariableId;
 import eu.hbp.mip.model.AlgorithmParam;
 import eu.hbp.mip.model.Variable;
 import scala.collection.immutable.HashMap;