diff --git a/src/main/java/org/hbp/mip/controllers/ModelsApi.java b/src/main/java/org/hbp/mip/controllers/ModelsApi.java
index 7d31f7e81a0a4ab732da0e377eb3c746e0ed5c6c..21acd04af5e28e426eb85927a6f79c597a841cec 100644
--- a/src/main/java/org/hbp/mip/controllers/ModelsApi.java
+++ b/src/main/java/org/hbp/mip/controllers/ModelsApi.java
@@ -9,6 +9,7 @@ import io.swagger.annotations.*;
 import org.apache.log4j.Logger;
 import org.hbp.mip.configuration.SecurityConfiguration;
 import org.hbp.mip.model.*;
+import org.hbp.mip.repositories.ConfigRepository;
 import org.hbp.mip.repositories.DatasetRepository;
 import org.hbp.mip.repositories.ModelRepository;
 import org.hbp.mip.repositories.QueryRepository;
@@ -46,6 +47,9 @@ public class ModelsApi {
     @Autowired
     QueryRepository queryRepository;
 
+    @Autowired
+    ConfigRepository configRepository;
+
     private static final String DATA_FILE = "data/values.csv";
 
     @ApiOperation(value = "Get models", response = Model.class, responseContainer = "List")
@@ -75,6 +79,7 @@ public class ModelsApi {
             for (Iterator<Model> i = models.iterator(); i.hasNext(); )
             {
                 Model m = i.next();
+                m.setDataset(datasetRepository.findOne(m.getDataset().getCode()));
                 if(valid != m.getValid())
                 {
                     i.remove();
@@ -82,10 +87,6 @@ public class ModelsApi {
             }
         }
 
-        for(Model model:models){
-            model.setDataset(datasetRepository.findOne(model.getDataset().getCode()));
-        }
-
         return new ResponseEntity<List<Model>>(HttpStatus.OK).ok(models);
 
     }
@@ -153,6 +154,9 @@ public class ModelsApi {
         map.put("text", model.getTitle());
         model.getConfig().setTitle(map);
 
+        configRepository.save(model.getConfig());
+        queryRepository.save(model.getQuery());
+        datasetRepository.save(model.getDataset());
         modelRepository.save(model);
 
         return new ResponseEntity<Model>(HttpStatus.CREATED).ok(model);
diff --git a/src/main/resources/db/migration/V1_1__Create.sql b/src/main/resources/db/migration/V1_1__Create.sql
index 777f0f39d32b319df4f56f30dcc85b2642c6bbcf..2dfa346e9efffbe82f6dd3fc6107601ae27918b9 100644
--- a/src/main/resources/db/migration/V1_1__Create.sql
+++ b/src/main/resources/db/migration/V1_1__Create.sql
@@ -66,7 +66,7 @@ ALTER TABLE app OWNER TO postgres;
 
 CREATE TABLE article (
     slug character varying(255) NOT NULL,
-    _abstract text,
+    abstract text,
     content text,
     createdat timestamp without time zone,
     publishedat timestamp without time zone,