diff --git a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
index d0e0db36aa029c95bebed143ff9755682dba899e..9e9c518b3f7f9b96be1030b7245bfa207d52c1be 100644
--- a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
@@ -4,8 +4,6 @@ import akka.dispatch.OnSuccess;
 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.WokenClientController;
 import eu.hbp.mip.configuration.SecurityConfiguration;
 import eu.hbp.mip.model.Experiment;
@@ -15,8 +13,6 @@ 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.query.MethodsQuery$;
-import eu.hbp.mip.woken.messages.query.MethodsResponse;
 import eu.hbp.mip.woken.messages.query.QueryResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -25,17 +21,13 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.cache.annotation.Cacheable;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 import scala.concurrent.ExecutionContext;
 import scala.concurrent.Future;
 
-import java.io.BufferedReader;
 import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
 import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
@@ -61,10 +53,6 @@ public class ExperimentApi extends WokenClientController {
             .excludeFieldsWithoutExposeAnnotation()
             .create();
 
-    private static final String EXAREME_ALGO_JSON_FILE="data/exareme_algorithms.json";
-
-    private static final String EXAREME_LR_ALGO = "WP_LINEAR_REGRESSION";
-
     @Value("#{'${services.exareme.miningExaremeUrl:http://hbps2.chuv.ch:9090/mining/query}'}")
     private String miningExaremeQueryUrl;
 
@@ -174,7 +162,7 @@ public class ExperimentApi extends WokenClientController {
     }
 
     @ApiOperation(value = "list experiments", response = Experiment.class, responseContainer = "List")
-    @RequestMapping(value = "/mine", method = RequestMethod.GET, params = {"maxResultCount"})
+    @RequestMapping(method = RequestMethod.GET, params = {"maxResultCount"})
     public ResponseEntity<String> listExperiments(
             @ApiParam(value = "maxResultCount") @RequestParam int maxResultCount
     ) {
@@ -198,28 +186,6 @@ public class ExperimentApi extends WokenClientController {
         return doListExperiments(false, modelSlug);
     }
 
-    @ApiOperation(value = "List available methods and validations", response = String.class)
-    @Cacheable(value = "methods", unless = "#result.getStatusCode().value()!=200")
-    @RequestMapping(path = "/methods", method = RequestMethod.GET)
-    public ResponseEntity listAvailableMethodsAndValidations() {
-        LOGGER.info("List available methods and validations");
-
-        return askWoken(MethodsQuery$.MODULE$, 10, r -> {
-            MethodsResponse result = (MethodsResponse) r;
-
-            // >> Temporary : should return result.methods() in the future
-            JsonObject catalog = new JsonParser().parse(result.methods()).getAsJsonObject();
-            InputStream is = ExperimentApi.class.getClassLoader().getResourceAsStream(EXAREME_ALGO_JSON_FILE);
-            InputStreamReader isr = new InputStreamReader(is);
-            BufferedReader br = new BufferedReader(isr);
-            JsonObject exaremeAlgo = new JsonParser().parse(br).getAsJsonObject();
-            catalog.get("algorithms").getAsJsonArray().add(exaremeAlgo);
-            // << Temporary
-
-            return ResponseEntity.ok(gson.toJson(catalog));
-        });
-    }
-
     private ResponseEntity<String> doListExperiments(
             boolean mine,
             String modelSlug
@@ -333,12 +299,12 @@ public class ExperimentApi extends WokenClientController {
             {
                 experiment.setResult("Unsupported variables !");
             }
-            finishExperimient(experiment);
+            finishExperiment(experiment);
         }).start();
         // << Temporary
     }
 
-    private void finishExperimient(Experiment experiment)
+    private void finishExperiment(Experiment experiment)
     {
         experiment.setFinished(new Date());
         experimentRepository.save(experiment);
diff --git a/src/main/java/eu/hbp/mip/controllers/MethodsApi.java b/src/main/java/eu/hbp/mip/controllers/MethodsApi.java
new file mode 100644
index 0000000000000000000000000000000000000000..e7f81753d804e7964f9fc51617b199285268d1b9
--- /dev/null
+++ b/src/main/java/eu/hbp/mip/controllers/MethodsApi.java
@@ -0,0 +1,56 @@
+package eu.hbp.mip.controllers;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+import eu.hbp.mip.akka.WokenClientController;
+import eu.hbp.mip.woken.messages.query.MethodsQuery$;
+import eu.hbp.mip.woken.messages.query.MethodsResponse;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
+
+@RestController
+@RequestMapping(value = "/methods", produces = {APPLICATION_JSON_VALUE})
+@Api(value = "/methods", description = "the methods API")
+public class MethodsApi extends WokenClientController {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(MethodsApi.class);
+
+    private static final Gson gson = new Gson();
+
+    private static final String EXAREME_ALGO_JSON_FILE="data/exareme_algorithms.json";
+
+    @ApiOperation(value = "List available methods and validations", response = String.class)
+    @Cacheable(value = "methods", unless = "#result.getStatusCode().value()!=200")
+    @RequestMapping(method = RequestMethod.GET)
+    public ResponseEntity listAvailableMethodsAndValidations() {
+        LOGGER.info("List available methods and validations");
+
+        return askWoken(MethodsQuery$.MODULE$, 10, r -> {
+            MethodsResponse result = (MethodsResponse) r;
+
+            // >> Temporary : should return result.methods() in the future
+            JsonObject catalog = new JsonParser().parse(result.methods()).getAsJsonObject();
+            InputStream is = MethodsApi.class.getClassLoader().getResourceAsStream(EXAREME_ALGO_JSON_FILE);
+            InputStreamReader isr = new InputStreamReader(is);
+            BufferedReader br = new BufferedReader(isr);
+            JsonObject exaremeAlgo = new JsonParser().parse(br).getAsJsonObject();
+            catalog.get("algorithms").getAsJsonArray().add(exaremeAlgo);
+            // << Temporary
+
+            return ResponseEntity.ok(gson.toJson(catalog));
+        });
+    }
+
+}
diff --git a/src/main/java/eu/hbp/mip/controllers/MiningApi.java b/src/main/java/eu/hbp/mip/controllers/MiningApi.java
index 10619819da6908b7abef15c96b6140aee5234f6b..97d5943420ae4a47d6631e591079e21f80ffe358 100644
--- a/src/main/java/eu/hbp/mip/controllers/MiningApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/MiningApi.java
@@ -12,6 +12,7 @@ import io.swagger.annotations.ApiOperation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -39,6 +40,9 @@ public class MiningApi extends WokenClientController {
     @Autowired
     private SecurityConfiguration securityConfiguration;
 
+    @Value("#{'${services.query.miningExaremeUrl:http://hbps2.chuv.ch:9090/mining/query}'}")
+    public String queryUrl;
+
     @ApiOperation(value = "Run an algorithm", response = String.class)
     @Cacheable(value = "mining", condition = "#query != null and #query.getAlgorithm().getCode() == 'histograms'", key = "#query.toString()", unless = "#result.getStatusCode().value()!=200")
     @RequestMapping(method = RequestMethod.POST)
@@ -51,7 +55,7 @@ public class MiningApi extends WokenClientController {
 
             String algorithm = query.getAlgorithm().getCode();
             String exaremeQuery = ExaremeQuery.query(query);
-            String url = ExaremeQuery.queryUrl + "/" + algorithm;
+            String url = queryUrl + "/" + algorithm;
 
             // TODO: Threaded call
             try {
diff --git a/src/main/java/eu/hbp/mip/model/ExaremeQuery.java b/src/main/java/eu/hbp/mip/model/ExaremeQuery.java
index 0e930ecbf8617794ade4bea5ab9ca38d06bc3d9f..fef81a5eab14240216c1063a3b14e248c7a17cd2 100644
--- a/src/main/java/eu/hbp/mip/model/ExaremeQuery.java
+++ b/src/main/java/eu/hbp/mip/model/ExaremeQuery.java
@@ -9,9 +9,6 @@ import java.util.List;
 
 public class ExaremeQuery {
 
-    @Value("#{'${services.query.miningExaremeUrl:http://hbps2.chuv.ch:9090/mining/query}'}")
-    public static String queryUrl;
-
     private static final Gson gson = new Gson();
 
     public static String query(MiningQuery query) {