diff --git a/src/main/java/org/hbp/mip/controllers/MiningApi.java b/src/main/java/org/hbp/mip/controllers/MiningApi.java
index d89008594716c235c7f878935d4eb8e2e8ec3bb2..e4b7429e6445f4cf4da0b447186fa70d86afed96 100644
--- a/src/main/java/org/hbp/mip/controllers/MiningApi.java
+++ b/src/main/java/org/hbp/mip/controllers/MiningApi.java
@@ -7,6 +7,7 @@ package org.hbp.mip.controllers;
 import com.google.gson.Gson;
 import com.google.gson.JsonParser;
 import io.swagger.annotations.*;
+import org.hbp.mip.model.ExaremeQueryElement;
 import org.hbp.mip.model.Model;
 import org.hbp.mip.model.SimpleMiningQuery;
 import org.hbp.mip.model.Variable;
@@ -167,13 +168,72 @@ public class MiningApi {
 
 
     private ResponseEntity<String> postExaremeMining(String algoCode, String modelSlug) throws Exception {
+
+        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
+        Model model = null;
+
+        try {
+            session.beginTransaction();
+            model = (Model) session.createQuery("FROM Model WHERE slug= :slug")
+                    .setString("slug", modelSlug)
+                    .uniqueResult();
+            session.getTransaction().commit();
+        } catch (Exception e)
+        {
+            if(session.getTransaction() != null)
+            {
+                session.getTransaction().rollback();
+                throw e;
+            }
+        }
+
+        LinkedList<ExaremeQueryElement> queryElements = new LinkedList<>();
+        for (Variable var : model.getQuery().getVariables())
+        {
+            ExaremeQueryElement el = new ExaremeQueryElement();
+            el.setName("variable");
+            el.setDesc("");
+            el.setValue(var.getCode());
+            queryElements.add(el);
+        }
+        for (Variable var : model.getQuery().getCovariables())
+        {
+            ExaremeQueryElement el = new ExaremeQueryElement();
+            el.setName("covariables");
+            el.setDesc("");
+            el.setValue(var.getCode());
+            queryElements.add(el);
+        }
+        for (Variable var : model.getQuery().getGrouping())
+        {
+            ExaremeQueryElement el = new ExaremeQueryElement();
+            el.setName("groupings");
+            el.setDesc("");
+            el.setValue(var.getCode());
+            queryElements.add(el);
+        }
+
+        ExaremeQueryElement tableEl = new ExaremeQueryElement();
+        tableEl.setName("showtable");
+        tableEl.setDesc("");
+        tableEl.setValue("TotalResults");
+        queryElements.add(tableEl);
+
+        ExaremeQueryElement formatEl = new ExaremeQueryElement();
+        formatEl.setName("format");
+        formatEl.setDesc("");
+        formatEl.setValue("True");
+        queryElements.add(formatEl);
+
+        String jsonQuery = new Gson().toJson(queryElements);
+
         try {
 
             /* Launch computation */
 
             String url = miningExaremeQueryUrl +"/"+algoCode+"/?format=true";
             StringBuilder results = new StringBuilder();
-            int code = HTTPUtil.sendPost(url, modelSlug, results);
+            int code = HTTPUtil.sendPost(url, jsonQuery, results);
             if (code < 200 || code > 299)
             {
                 return new ResponseEntity<>(results.toString(), HttpStatus.valueOf(code));
@@ -190,7 +250,7 @@ public class MiningApi {
             while (progress < 100) {
                 Thread.sleep(200);
                 results = new StringBuilder();
-                code = HTTPUtil.sendPost(url, modelSlug, results);
+                code = HTTPUtil.sendPost(url, jsonQuery, results);
                 if (code < 200 || code > 299)
                 {
                     return new ResponseEntity<>(results.toString(), HttpStatus.valueOf(code));
@@ -202,7 +262,7 @@ public class MiningApi {
 
             url = miningExaremeQueryUrl +"/"+key+"/result";
             results = new StringBuilder();
-            code = HTTPUtil.sendPost(url, modelSlug, results);
+            code = HTTPUtil.sendPost(url, jsonQuery, results);
 
             return new ResponseEntity<>(results.toString(), HttpStatus.valueOf(code));
         }
diff --git a/src/main/java/org/hbp/mip/model/ExaremeQuery.java b/src/main/java/org/hbp/mip/model/ExaremeQuery.java
deleted file mode 100644
index 269c7880475b6836b1d52e06e94e458ab798dcdc..0000000000000000000000000000000000000000
--- a/src/main/java/org/hbp/mip/model/ExaremeQuery.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.hbp.mip.model;
-
-/**
- * Created by mirco on 20.06.16.
- */
-public class ExaremeQuery {
-}
diff --git a/src/main/java/org/hbp/mip/model/ExaremeQueryElement.java b/src/main/java/org/hbp/mip/model/ExaremeQueryElement.java
new file mode 100644
index 0000000000000000000000000000000000000000..dba6d6269da25986a0d39028d927f61563b39ae8
--- /dev/null
+++ b/src/main/java/org/hbp/mip/model/ExaremeQueryElement.java
@@ -0,0 +1,43 @@
+package org.hbp.mip.model;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * Created by mirco on 20.06.16.
+ */
+
+@ApiModel
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class ExaremeQueryElement {
+
+    private String name;
+
+    private String desc;
+
+    private String value;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+}