diff --git a/pom.xml b/pom.xml
index f4eced3d8af0f5c689be29bc249c037769147a03..2777e115200fec15b5d3d2d902d73459efdf86d7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,9 +47,9 @@
         <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>2.1.1</woken-messages.version>
+        <woken-messages.version>2.1.5</woken-messages.version>
         <javax-inject.version>1</javax-inject.version>
-        <akka.version>2.3.16</akka.version>
+        <akka.version>2.5.8</akka.version>
         <spring-context.version>4.3.4.RELEASE</spring-context.version>
         <protobuf-java.version>3.1.0</protobuf-java.version>
     </properties>
diff --git a/src/main/java/eu/hbp/mip/MIPApplication.java b/src/main/java/eu/hbp/mip/MIPApplication.java
index 9e648fda947ae6a07ee2945c8e99331f3920d5b5..df70ba78a5ba397676f1ad1533895e86a67c4f89 100644
--- a/src/main/java/eu/hbp/mip/MIPApplication.java
+++ b/src/main/java/eu/hbp/mip/MIPApplication.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 04.12.15.
  */
 
diff --git a/src/main/java/eu/hbp/mip/akka/ExperimentActor.java b/src/main/java/eu/hbp/mip/akka/ExperimentActor.java
index 19a1fc60630dd8768574b35944ae150d3cb29903..f6fa19a65f99dac8a28d567a4a18b413576a1443 100644
--- a/src/main/java/eu/hbp/mip/akka/ExperimentActor.java
+++ b/src/main/java/eu/hbp/mip/akka/ExperimentActor.java
@@ -1,7 +1,6 @@
 package eu.hbp.mip.akka;
 
-import akka.actor.UntypedActor;
-import eu.hbp.mip.woken.messages.external.QueryError;
+import akka.actor.AbstractActor;
 import eu.hbp.mip.woken.messages.external.QueryResult;
 import eu.hbp.mip.model.Experiment;
 import eu.hbp.mip.repositories.ExperimentRepository;
@@ -20,56 +19,39 @@ import java.util.UUID;
 
 @Component
 @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
-public class ExperimentActor extends UntypedActor {
+public class ExperimentActor extends AbstractActor {
 
     @Autowired
     private ExperimentRepository experimentRepository;
 
     private static final Logger LOGGER = Logger.getLogger(ExperimentActor.class);
 
+    public Receive createReceive() {
+        return receiveBuilder()
+                .match(QueryResult.class, this::handleQueryResult)
+                .matchAny(o -> LOGGER.info("received unknown message " + o))
+                .build();
+    }
 
-    @Override
-    public void onReceive(Object message) {
+    private void handleQueryResult(QueryResult queryResult) {
         LOGGER.info("ActorExperiment - onReceive method has been called");
         UUID uuid = UUID.fromString(this.getSelf().path().name());
-        LOGGER.info("\n\nExperimentActor received response from woken for UUID: \n"+uuid.toString());
-        if (message instanceof QueryResult) {
-            QueryResult queryResult = (QueryResult) message;
-            Experiment experiment = experimentRepository.findOne(uuid);
-            if(experiment == null)
-            {
-                LOGGER.error("Experiment with UUID="+uuid+" not found in DB");
-                getContext().stop(getSelf());
-                return;
-            }
-            experiment.setResult(queryResult.data().get());
-            experiment.setFinished(Date.from(queryResult.timestamp().toInstant()));
-            experimentRepository.save(experiment);
-            LOGGER.info("Experiment "+ uuid +" updated (finished)");
+        LOGGER.info("\n\nExperimentActor received response from woken for UUID: \n" + uuid.toString());
+        Experiment experiment = experimentRepository.findOne(uuid);
+        if (experiment == null) {
+            LOGGER.error("Experiment with UUID=" + uuid + " not found in DB");
             getContext().stop(getSelf());
-        }
-
-        else if (message instanceof QueryError) {
-            QueryError queryError = (QueryError) message;
-            LOGGER.warn("received query error");
-            Experiment experiment = experimentRepository.findOne(uuid);
-            if(experiment == null)
-            {
-                LOGGER.error("Experiment with UUID="+uuid+" not found in DB");
-                getContext().stop(getSelf());
-                return;
+        } else {
+            if (queryResult.error().nonEmpty()) {
+                experiment.setHasServerError(true);
+                experiment.setResult(queryResult.error().get());
+            } else {
+                experiment.setResult(queryResult.data().get());
             }
-            experiment.setHasServerError(true);
-            experiment.setResult(queryError.message());
-            experimentRepository.save(experiment);
-            experiment.setFinished(new Date());
+            experiment.setFinished(Date.from(queryResult.timestamp().toInstant()));
             experimentRepository.save(experiment);
-            LOGGER.info("Experiment "+ uuid +" updated (finished)");
+            LOGGER.info("Experiment " + uuid + " updated (finished)");
             getContext().stop(getSelf());
         }
-
-        else {
-            unhandled(message);
-        }
     }
 }
diff --git a/src/main/java/eu/hbp/mip/akka/SpringExtension.java b/src/main/java/eu/hbp/mip/akka/SpringExtension.java
index e170284c831b677e0622a9fee259daac05b7b1ce..5fe0698be44193fcdc8761297f429cb456aadd40 100644
--- a/src/main/java/eu/hbp/mip/akka/SpringExtension.java
+++ b/src/main/java/eu/hbp/mip/akka/SpringExtension.java
@@ -6,7 +6,7 @@ import akka.actor.Extension;
 import akka.actor.Props;
 import org.springframework.context.ApplicationContext;
 
-/**
+/*
  * Created by mirco on 24.10.16.
  */
 
diff --git a/src/main/java/eu/hbp/mip/controllers/ArticlesApi.java b/src/main/java/eu/hbp/mip/controllers/ArticlesApi.java
index e72ba07aaf4f5667aed62be19d4e2425b2aa9c75..9fe77079dfef7e79a2de77f19cfba1adae10a28b 100644
--- a/src/main/java/eu/hbp/mip/controllers/ArticlesApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/ArticlesApi.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 04.12.15.
  */
 
diff --git a/src/main/java/eu/hbp/mip/controllers/DatasetsApi.java b/src/main/java/eu/hbp/mip/controllers/DatasetsApi.java
index 26780f90911e0e0e620ec10dd3916e1c8eacdf32..ccaf9e74db1909dd560d17b7c20eb6a8932cad4c 100644
--- a/src/main/java/eu/hbp/mip/controllers/DatasetsApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/DatasetsApi.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 04.12.15.
  */
 
diff --git a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
index 5c365897263f99e04b6660af560c7739e5ebecbb..8f21186185f244ad20ac067840aad94281284fa7 100644
--- a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
@@ -12,8 +12,6 @@ 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.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;
@@ -21,6 +19,8 @@ import eu.hbp.mip.repositories.ExperimentRepository;
 import eu.hbp.mip.repositories.ModelRepository;
 import eu.hbp.mip.utils.HTTPUtil;
 import eu.hbp.mip.utils.JSONUtil;
+import eu.hbp.mip.woken.messages.external.MethodsQuery$;
+import eu.hbp.mip.woken.messages.external.MethodsResponse;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -46,6 +46,7 @@ import java.util.List;
 import java.util.UUID;
 
 import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
+
 /**
  * Created by habfast on 21/04/16.
  */
@@ -222,10 +223,10 @@ public class ExperimentApi {
         ActorSelection wokenActor = actorSystem.actorSelection(wokenRefPath);
 
         Timeout timeout = new Timeout(Duration.create(5, "seconds"));
-        Future<Object> future = Patterns.ask(wokenActor, new MethodsQuery(), timeout);
-        Methods result;
+        Future<Object> future = Patterns.ask(wokenActor, MethodsQuery$.MODULE$, timeout);
+        MethodsResponse result;
         try {
-            result = (Methods) Await.result(future, timeout.duration());
+            result = (MethodsResponse) Await.result(future, timeout.duration());
         } catch (Exception e) {
             LOGGER.error("Cannot receive methods list from woken !");
             LOGGER.trace(e.getMessage());
diff --git a/src/main/java/eu/hbp/mip/controllers/ModelsApi.java b/src/main/java/eu/hbp/mip/controllers/ModelsApi.java
index 77b74ad65add6b47f07a910f70fa69b04c54198f..7a5952b95514579304d7d23d9fff4a6ba234eefd 100644
--- a/src/main/java/eu/hbp/mip/controllers/ModelsApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/ModelsApi.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 04.12.15.
  */
 
diff --git a/src/main/java/eu/hbp/mip/controllers/RequestsApi.java b/src/main/java/eu/hbp/mip/controllers/RequestsApi.java
index 3ef2931c8460f93ecd8c505fed47f02c68c9ed2f..b590e61516a95ee176b991b7f3a650b3e21385dc 100644
--- a/src/main/java/eu/hbp/mip/controllers/RequestsApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/RequestsApi.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 18.01.16.
  */
 
@@ -62,7 +62,7 @@ public class RequestsApi {
         List<String> variables = extractVarCodes(q, "variables");
         List<String> groupings = extractVarCodes(q, "grouping");
         List<String> covariables = extractVarCodes(q, "covariables");
-        String filters = extractFilters(q, "filters");
+        String filters = extractFilters(q);
 
         List<String> allVars = new LinkedList<>();
         allVars.addAll(variables);
@@ -89,8 +89,8 @@ public class RequestsApi {
         return codes;
     }
 
-    private String extractFilters(JsonObject q, String field) {
-        return q.getAsJsonPrimitive(field).getAsString();
+    private String extractFilters(JsonObject q) {
+        return q.getAsJsonPrimitive("filters").getAsString();
     }
 
     private String generateDSCode(Query query) {
diff --git a/src/main/java/eu/hbp/mip/controllers/StatsApi.java b/src/main/java/eu/hbp/mip/controllers/StatsApi.java
index 4ca4fa9a42dbfa8ccd8cf70fe1df2a1c6c83fbbb..ee88bbbbad5195e3457407d93a1cb89af33b09a4 100644
--- a/src/main/java/eu/hbp/mip/controllers/StatsApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/StatsApi.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 18.01.16.
  */
 
diff --git a/src/main/java/eu/hbp/mip/controllers/UsersApi.java b/src/main/java/eu/hbp/mip/controllers/UsersApi.java
index 38635b6eecab6f0c3b4169672c7c013538a01b21..ac69057ed07e0f54f1c074c5d1445f30cd9a5793 100644
--- a/src/main/java/eu/hbp/mip/controllers/UsersApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/UsersApi.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 14.01.16.
  */
 
diff --git a/src/main/java/eu/hbp/mip/controllers/VariablesApi.java b/src/main/java/eu/hbp/mip/controllers/VariablesApi.java
index d4ab18e7f9075b22edf0a2c4c2ab864bd322cfa9..17770f1a50b740f102157d2c0a54c819c860233a 100644
--- a/src/main/java/eu/hbp/mip/controllers/VariablesApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/VariablesApi.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 04.12.15.
  */
 
diff --git a/src/main/java/eu/hbp/mip/model/Article.java b/src/main/java/eu/hbp/mip/model/Article.java
index 508ad89c48e06f1314b0f1dfa0166d962e67120f..220839623d0c63f32d3cb30f28436513ae59ea2b 100644
--- a/src/main/java/eu/hbp/mip/model/Article.java
+++ b/src/main/java/eu/hbp/mip/model/Article.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 04.12.15.
  */
 
diff --git a/src/main/java/eu/hbp/mip/model/Dataset.java b/src/main/java/eu/hbp/mip/model/Dataset.java
index 2319d1550b92a6017cc2aeea01b89713a9af9e82..69fc5ed9902450a5bb03c84f7304311a1a21fdb7 100644
--- a/src/main/java/eu/hbp/mip/model/Dataset.java
+++ b/src/main/java/eu/hbp/mip/model/Dataset.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 04.12.15.
  */
 
diff --git a/src/main/java/eu/hbp/mip/model/Experiment.java b/src/main/java/eu/hbp/mip/model/Experiment.java
index fa94e45ef1c67835c31531f912182af1d95f9eb3..5412c38dbb5f5c65a788fde8b9d02039b333e945 100644
--- a/src/main/java/eu/hbp/mip/model/Experiment.java
+++ b/src/main/java/eu/hbp/mip/model/Experiment.java
@@ -6,12 +6,11 @@ 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.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;
+import scala.collection.JavaConversions;
 
 import javax.persistence.*;
 import java.lang.reflect.Type;
@@ -91,32 +90,28 @@ public class Experiment {
         if (model == null || model.getQuery() == null)
             return new ExperimentQuery(null, null, null, null, null, null);
 
-        List<Algorithm> algorithms = new LinkedList<>();
+        List<AlgorithmSpec> algorithms = new LinkedList<>();
         Type algoList = new TypeToken<LinkedList<eu.hbp.mip.model.Algorithm>>(){}.getType();
         List<eu.hbp.mip.model.Algorithm> algos = new Gson().fromJson(this.algorithms, algoList);
-        for (eu.hbp.mip.model.Algorithm a: algos
-             ) {
-            algorithms.add(new Algorithm(a.getCode(), a.getName(), TypesConvert.algoParamsToHashMap(a.getParameters())));
+        for (eu.hbp.mip.model.Algorithm a: algos) {
+            algorithms.add(new AlgorithmSpec(a.getCode(), TypesConvert.algoParamsToScala(a.getParameters())));
         }
 
-        List<Validation> validations = new LinkedList<>();
+        List<ValidationSpec> validations = new LinkedList<>();
         Type validList = new TypeToken<LinkedList<eu.hbp.mip.model.ExperimentValidator>>(){}.getType();
         List<eu.hbp.mip.model.ExperimentValidator> valids = new Gson().fromJson(this.validations, validList);
-        for (ExperimentValidator v: valids
-                ) {
-            validations.add(new Validation(v.getCode(), v.getName(), TypesConvert.algoParamsToHashMap(v.getParameters())));
+        for (ExperimentValidator v: valids) {
+            validations.add(new ValidationSpec(v.getCode(), TypesConvert.algoParamsToScala(v.getParameters())));
         }
 
-        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();
-        scala.collection.immutable.List<Validation> validationsSeq = JavaConverters.asScalaIteratorConverter(
-                validations.iterator()).asScala().toSeq().toList();
+        scala.collection.immutable.List<VariableId> variablesSeq =
+                TypesConvert.variablesToVariableIds(model.getQuery().getVariables());
+        scala.collection.immutable.List<VariableId> covariablesSeq =
+                TypesConvert.variablesToVariableIds(model.getQuery().getCovariables());
+        scala.collection.immutable.List<VariableId> groupingSeq =
+                TypesConvert.variablesToVariableIds(model.getQuery().getGrouping());
+        scala.collection.immutable.List<AlgorithmSpec> algorithmsSeq = JavaConversions.asScalaBuffer(algorithms).toList();
+        scala.collection.immutable.List<ValidationSpec> validationsSeq = JavaConversions.asScalaBuffer(validations).toList();
 
         String filters = model.getQuery().getFilters();
 
diff --git a/src/main/java/eu/hbp/mip/model/GeneralStats.java b/src/main/java/eu/hbp/mip/model/GeneralStats.java
index 8953828d4fa4313d6ca51f05dce781ee3f0c2190..939ca27de29f3bc9d21dcdd60eb343a953c71e2d 100644
--- a/src/main/java/eu/hbp/mip/model/GeneralStats.java
+++ b/src/main/java/eu/hbp/mip/model/GeneralStats.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 03.02.16.
  */
 
diff --git a/src/main/java/eu/hbp/mip/model/Group.java b/src/main/java/eu/hbp/mip/model/Group.java
index 2b8c02bc08432d39691d95de3a0adbc5b1ef6aaf..3cf2a07062ba7eeb400a0f921791c548f115136d 100644
--- a/src/main/java/eu/hbp/mip/model/Group.java
+++ b/src/main/java/eu/hbp/mip/model/Group.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 04.12.15.
  */
 
diff --git a/src/main/java/eu/hbp/mip/model/MiningQuery.java b/src/main/java/eu/hbp/mip/model/MiningQuery.java
index d440a876c1a49beec517ab00afc4678b042a9ee6..41a9cf74cb08de8d6ec427af2a6c98ae2fa837c3 100644
--- a/src/main/java/eu/hbp/mip/model/MiningQuery.java
+++ b/src/main/java/eu/hbp/mip/model/MiningQuery.java
@@ -3,8 +3,6 @@ package eu.hbp.mip.model;
 import com.google.gson.Gson;
 import eu.hbp.mip.woken.messages.external.VariableId;
 import eu.hbp.mip.utils.TypesConvert;
-import scala.collection.JavaConverters;
-import scala.collection.Seq;
 
 import java.util.LinkedList;
 import java.util.List;
@@ -75,15 +73,12 @@ public class MiningQuery {
 
     public eu.hbp.mip.woken.messages.external.MiningQuery prepareQuery() {
 
-        eu.hbp.mip.woken.messages.external.Algorithm scalaAlgorithm = new eu.hbp.mip.woken.messages.external.Algorithm(
-                algorithm.getCode(), algorithm.getName(), TypesConvert.algoParamsToHashMap(algorithm.getParameters()));
+        eu.hbp.mip.woken.messages.external.AlgorithmSpec scalaAlgorithm = new eu.hbp.mip.woken.messages.external.AlgorithmSpec(
+                algorithm.getCode(), TypesConvert.algoParamsToScala(algorithm.getParameters()));
 
-        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();
+        scala.collection.immutable.List<VariableId> variablesSeq = TypesConvert.variablesToVariableIds(variables);
+        scala.collection.immutable.List<VariableId> covariablesSeq = TypesConvert.variablesToVariableIds(covariables);
+        scala.collection.immutable.List<VariableId> groupingSeq = TypesConvert.variablesToVariableIds(grouping);
 
         return new eu.hbp.mip.woken.messages.external.MiningQuery(
                 variablesSeq, covariablesSeq, groupingSeq, filters, scalaAlgorithm);
diff --git a/src/main/java/eu/hbp/mip/model/Query.java b/src/main/java/eu/hbp/mip/model/Query.java
index e0a07582837846540b3cc26201f806db8b8ee74d..fd12294288b8fa50149ecb603f4bd1acb3d8715d 100644
--- a/src/main/java/eu/hbp/mip/model/Query.java
+++ b/src/main/java/eu/hbp/mip/model/Query.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 04.12.15.
  */
 
diff --git a/src/main/java/eu/hbp/mip/model/Tag.java b/src/main/java/eu/hbp/mip/model/Tag.java
index e09f86fc2666fb73598629a499da2020a2bf542c..3e1fbccbcb284c14cf91e6e3fcc901200de28b25 100644
--- a/src/main/java/eu/hbp/mip/model/Tag.java
+++ b/src/main/java/eu/hbp/mip/model/Tag.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 04.12.15.
  */
 
diff --git a/src/main/java/eu/hbp/mip/model/User.java b/src/main/java/eu/hbp/mip/model/User.java
index 11b6b8fd477e55bef26e6f0f5b66fdfe210cebb6..c0c845876ec7571845f72266347b1b2ce7e2f799 100644
--- a/src/main/java/eu/hbp/mip/model/User.java
+++ b/src/main/java/eu/hbp/mip/model/User.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 04.12.15.
  */
 
diff --git a/src/main/java/eu/hbp/mip/model/Value.java b/src/main/java/eu/hbp/mip/model/Value.java
index 17ca49d52b29ae99359963cf1f07a5effb3f4b1c..784452e591ffc8eb1f62ff5cc0c7f82694c78a3c 100644
--- a/src/main/java/eu/hbp/mip/model/Value.java
+++ b/src/main/java/eu/hbp/mip/model/Value.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 04.12.15.
  */
 
diff --git a/src/main/java/eu/hbp/mip/model/Variable.java b/src/main/java/eu/hbp/mip/model/Variable.java
index 8fc4d2dd91fae198da98c5e4251da3afa2739769..0947cdd7db753d27741a2e0b32fb4239c166cbac 100644
--- a/src/main/java/eu/hbp/mip/model/Variable.java
+++ b/src/main/java/eu/hbp/mip/model/Variable.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 04.12.15.
  */
 
diff --git a/src/main/java/eu/hbp/mip/model/Vote.java b/src/main/java/eu/hbp/mip/model/Vote.java
index 8c79537840d81cb09134132200ac47a49a36b09a..fcd52e48597a17377e8d1a05cf47c129793eaa3e 100644
--- a/src/main/java/eu/hbp/mip/model/Vote.java
+++ b/src/main/java/eu/hbp/mip/model/Vote.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Created by mirco on 24.05.16.
  */
 
diff --git a/src/main/java/eu/hbp/mip/utils/TypesConvert.java b/src/main/java/eu/hbp/mip/utils/TypesConvert.java
index 4032483487c3e0f25a19b0eabb74c22f86987072..42cc99520d3c5068a2dd0ba0ca911d6e3de047d5 100644
--- a/src/main/java/eu/hbp/mip/utils/TypesConvert.java
+++ b/src/main/java/eu/hbp/mip/utils/TypesConvert.java
@@ -1,34 +1,31 @@
 package eu.hbp.mip.utils;
 
+import eu.hbp.mip.woken.messages.external.CodeValue;
 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;
+import scala.collection.JavaConversions;
 
 import java.util.LinkedList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * Created by mirco on 06.01.17.
  */
 public class TypesConvert {
 
-    public static List<VariableId> variablesToVariableIds(List<Variable> vars) {
+    public static scala.collection.immutable.List<VariableId> variablesToVariableIds(List<Variable> vars) {
         List<VariableId> varIds = new LinkedList<>();
-        for (Variable v: vars
-                ) {
+        for (Variable v: vars) {
             varIds.add(new VariableId(v.getCode()));
         }
-        return varIds;
+        return JavaConversions.asScalaBuffer(varIds).toList();
     }
 
-    public static HashMap<String, String> algoParamsToHashMap(List<AlgorithmParam> aps) {
-        HashMap<String, String> params = new HashMap<>();
-        for (AlgorithmParam ap: aps
-                ) {
-            params = params.updated(ap.getCode(), ap.getValue());
-        }
-        return params;
+    public static scala.collection.immutable.List<CodeValue> algoParamsToScala(List<AlgorithmParam> aps) {
+        List<CodeValue> cvs = aps.stream().map(p -> new CodeValue(p.getCode(), p.getValue())).collect(Collectors.toList());
+        return JavaConversions.asScalaBuffer(cvs).toList();
     }
 
 }