diff --git a/src/main/java/org/hbp/mip/MIPApplication.java b/src/main/java/org/hbp/mip/MIPApplication.java
index 541af300d7099d4e02dbe461fe37d5abda1df572..5e170a295737bca4215c4d33162528c17de75324 100644
--- a/src/main/java/org/hbp/mip/MIPApplication.java
+++ b/src/main/java/org/hbp/mip/MIPApplication.java
@@ -60,7 +60,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.security.Principal;
-import java.util.LinkedList;
+import java.util.Date;
 import java.util.List;
 
 @SpringBootApplication
@@ -102,8 +102,10 @@ public class MIPApplication extends WebSecurityConfigurerAdapter {
     @RequestMapping(value = "/models", method = RequestMethod.GET)
     @ResponseBody
     public List<Model> getModels() {
-        List<Model> models = new LinkedList<>();
-        models.add(new ModelMock(1));
+        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
+        session.beginTransaction();
+        List models = session.createQuery("from Model").list();
+        session.getTransaction().commit();
         return models;
     }
 
@@ -116,8 +118,15 @@ public class MIPApplication extends WebSecurityConfigurerAdapter {
     @RequestMapping(value = "/articles", method = RequestMethod.POST)
     @ResponseBody
     public Article postArticle(@RequestBody Article article) {
-        System.out.print(article.getTitle());
-        return new ArticleMock(1);
+        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
+        session.beginTransaction();
+        article.setCreatedAt(new Date());
+        article.setPublishedAt(new Date());
+        article.setSlug(article.getTitle().toLowerCase());
+        article.setStatus("published");
+        session.save(article);
+        session.getTransaction().commit();
+        return article;
     }
 
     @RequestMapping(value = "/models", method = RequestMethod.POST)
@@ -168,7 +177,11 @@ public class MIPApplication extends WebSecurityConfigurerAdapter {
     @RequestMapping(value = "/variables")
     @ResponseBody
     public List<Variable> getVariables(){
-        return null;
+        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
+        session.beginTransaction();
+        List variables = session.createQuery("from Variable").list();
+        session.getTransaction().commit();
+        return variables;
     }
 
     @RequestMapping(value = "/variables/{code}")
diff --git a/src/main/java/org/hbp/mip/model/Article.java b/src/main/java/org/hbp/mip/model/Article.java
index 3ac1f8f4881f68acb2e479a3df1011a9a4a9dfa4..afc86a5b6e9a5d6ba3f64c63ef676ae87fda041b 100644
--- a/src/main/java/org/hbp/mip/model/Article.java
+++ b/src/main/java/org/hbp/mip/model/Article.java
@@ -26,7 +26,7 @@ public class Article {
     private User createdBy;
     @ManyToOne
     private User updatedBy;
-    @ManyToMany
+    @ManyToMany(fetch = FetchType.EAGER)
     private List<Tag> tags;
 
     public Article() {