diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index 8f14f62236928bf8e2632f06b29a268fffd1e151..a950c4211b98c5a691c4fbb4a086ebd1a4931f78 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 39638799269d0193201b39e5276d8236659f97fe..75dac502959ec4f6e5232282499067f85aa716f5 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -24,7 +24,7 @@
       </value>
     </option>
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/build/classes" />
   </component>
   <component name="ProjectType">
diff --git a/app/src/main/java/me/szaki/xkcd/xkcdbrowser/interactor/InteractorModule.java b/app/src/main/java/me/szaki/xkcd/xkcdbrowser/interactor/InteractorModule.java
index de0c2172c2d5dde915f04c4f4a62d2d9c42b7962..4844a6044e7f41d410058e3c18a9713960491f2c 100644
--- a/app/src/main/java/me/szaki/xkcd/xkcdbrowser/interactor/InteractorModule.java
+++ b/app/src/main/java/me/szaki/xkcd/xkcdbrowser/interactor/InteractorModule.java
@@ -1,13 +1,23 @@
 package me.szaki.xkcd.xkcdbrowser.interactor;
 
+import javax.inject.Singleton;
+
 import dagger.Module;
 import dagger.Provides;
 import me.szaki.xkcd.xkcdbrowser.interactor.comics.ComicsInteractor;
+import me.szaki.xkcd.xkcdbrowser.interactor.comics.DBInteractor;
 
 @Module
 public class InteractorModule {
+    @Singleton
     @Provides
     public ComicsInteractor provideComicsInteractor() {
         return new ComicsInteractor();
     }
+
+    @Singleton
+    @Provides
+    public DBInteractor provideDBInteractor() {
+        return new DBInteractor();
+    }
 }
diff --git a/app/src/main/java/me/szaki/xkcd/xkcdbrowser/interactor/comics/ComicsInteractor.java b/app/src/main/java/me/szaki/xkcd/xkcdbrowser/interactor/comics/ComicsInteractor.java
index 2fd12020b8373bde88711bbf1ffadab2e17f3e71..f333e97456b37c3624d2453b44f40cd416199f66 100644
--- a/app/src/main/java/me/szaki/xkcd/xkcdbrowser/interactor/comics/ComicsInteractor.java
+++ b/app/src/main/java/me/szaki/xkcd/xkcdbrowser/interactor/comics/ComicsInteractor.java
@@ -2,6 +2,8 @@ package me.szaki.xkcd.xkcdbrowser.interactor.comics;
 
 
 import java.io.IOException;
+import java.util.Date;
+import java.util.Random;
 
 import javax.inject.Inject;
 
@@ -20,4 +22,13 @@ public class ComicsInteractor {
     public Comic getComic(long id) throws IOException {
         return this.comicApi.getComic(id).execute().body();
     }
+
+    public Comic getRandomComic() throws IOException {
+        Random r = new Random(new Date().getTime());
+        return this.comicApi.getComic(r.nextLong()).execute().body();
+    }
+
+    public Comic getLatestComic() throws IOException {
+        return this.comicApi.getCurrentComic().execute().body();
+    }
 }
diff --git a/app/src/main/java/me/szaki/xkcd/xkcdbrowser/interactor/comics/DBInteractor.java b/app/src/main/java/me/szaki/xkcd/xkcdbrowser/interactor/comics/DBInteractor.java
new file mode 100644
index 0000000000000000000000000000000000000000..a9a8baa25909bb35979f3ac0caa1301e8ff2147d
--- /dev/null
+++ b/app/src/main/java/me/szaki/xkcd/xkcdbrowser/interactor/comics/DBInteractor.java
@@ -0,0 +1,33 @@
+package me.szaki.xkcd.xkcdbrowser.interactor.comics;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Random;
+
+import javax.inject.Inject;
+
+import me.szaki.xkcd.xkcdbrowser.database.ComicsDatabase;
+import me.szaki.xkcd.xkcdbrowser.model.ComicStrip;
+
+public class DBInteractor {
+    @Inject
+    ComicsDatabase db;
+
+    public List<ComicStrip> getComics() {
+        return db.getDAO().getAllComics();
+    }
+
+    public ComicStrip getComic(Long id) {
+        return db.getDAO().getComic(id);
+    }
+
+    public void deleteComic(ComicStrip c) {
+        db.getDAO().delete(c);
+    }
+
+    public void saveComic(ComicStrip c) {
+        db.getDAO().insertAll(c);
+    }
+
+
+}
diff --git a/app/src/main/java/me/szaki/xkcd/xkcdbrowser/network/StringUtil.java b/app/src/main/java/me/szaki/xkcd/xkcdbrowser/network/StringUtil.java
index 86246b0d2770be802f531b256077fc5b326a8119..baf9bd6182714a82fb5d97f87e6f0bf675e8133f 100644
--- a/app/src/main/java/me/szaki/xkcd/xkcdbrowser/network/StringUtil.java
+++ b/app/src/main/java/me/szaki/xkcd/xkcdbrowser/network/StringUtil.java
@@ -1,6 +1,6 @@
 package me.szaki.xkcd.xkcdbrowser.network;
 
-@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2018-04-16T20:13:49.474+02:00")
+@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2018-04-16T23:20:40.798+02:00")
 public class StringUtil {
   /**
    * Check if the given array contains the given value (with case-insensitive comparison).
diff --git a/app/src/main/java/me/szaki/xkcd/xkcdbrowser/network/api/ComicApi.java b/app/src/main/java/me/szaki/xkcd/xkcdbrowser/network/api/ComicApi.java
index 21e4029cc043aa84b3a80c8017fe35cb63f637cc..2689d89ac7580b095dd31f31fb0c4c89dabb44db 100644
--- a/app/src/main/java/me/szaki/xkcd/xkcdbrowser/network/api/ComicApi.java
+++ b/app/src/main/java/me/szaki/xkcd/xkcdbrowser/network/api/ComicApi.java
@@ -17,6 +17,17 @@ import java.util.Map;
 
 public interface ComicApi {
   
+  /**
+   * Get the current comic
+   * 
+   * @return Call<Comic>
+   */
+  
+  @GET("info.0.json")
+  Call<Comic> getCurrentComic();
+    
+
+  
   /**
    * Get a comic
    * 
diff --git a/app/src/main/java/me/szaki/xkcd/xkcdbrowser/ui/favorites/FavoritesPresenter.java b/app/src/main/java/me/szaki/xkcd/xkcdbrowser/ui/favorites/FavoritesPresenter.java
index 55ab14b9bb8cd8f10b7f8bf6a99a0c23280d9721..33adfe57b14a069aaf6ddb326e5496df5b5603f1 100644
--- a/app/src/main/java/me/szaki/xkcd/xkcdbrowser/ui/favorites/FavoritesPresenter.java
+++ b/app/src/main/java/me/szaki/xkcd/xkcdbrowser/ui/favorites/FavoritesPresenter.java
@@ -4,8 +4,8 @@ package me.szaki.xkcd.xkcdbrowser.ui.favorites;
 import javax.inject.Inject;
 
 import me.szaki.xkcd.xkcdbrowser.XKCDBrowserApplication;
-import me.szaki.xkcd.xkcdbrowser.database.ComicsDatabase;
 import me.szaki.xkcd.xkcdbrowser.interactor.comics.ComicsInteractor;
+import me.szaki.xkcd.xkcdbrowser.interactor.comics.DBInteractor;
 import me.szaki.xkcd.xkcdbrowser.ui.Presenter;
 
 public class FavoritesPresenter extends Presenter<FavoritesScreen> {
@@ -13,7 +13,7 @@ public class FavoritesPresenter extends Presenter<FavoritesScreen> {
     ComicsInteractor comicsInteractor;
 
     @Inject
-    ComicsDatabase db;
+    DBInteractor db;
 
     public FavoritesPresenter () {
         XKCDBrowserApplication.injector.inject(this);
diff --git a/app/src/main/java/me/szaki/xkcd/xkcdbrowser/ui/main/MainPresenter.java b/app/src/main/java/me/szaki/xkcd/xkcdbrowser/ui/main/MainPresenter.java
index 60beab22d796e881e38c34f187a5566c3411ebb2..23edcd5a9ff9f604b53a42e7816256d8f7056c6e 100644
--- a/app/src/main/java/me/szaki/xkcd/xkcdbrowser/ui/main/MainPresenter.java
+++ b/app/src/main/java/me/szaki/xkcd/xkcdbrowser/ui/main/MainPresenter.java
@@ -3,9 +3,9 @@ package me.szaki.xkcd.xkcdbrowser.ui.main;
 
 import javax.inject.Inject;
 
-import me.szaki.xkcd.xkcdbrowser.database.ComicsDatabase;
 import me.szaki.xkcd.xkcdbrowser.XKCDBrowserApplication;
 import me.szaki.xkcd.xkcdbrowser.interactor.comics.ComicsInteractor;
+import me.szaki.xkcd.xkcdbrowser.interactor.comics.DBInteractor;
 import me.szaki.xkcd.xkcdbrowser.ui.Presenter;
 
 public class MainPresenter extends Presenter<MainScreen> {
@@ -13,7 +13,7 @@ public class MainPresenter extends Presenter<MainScreen> {
     ComicsInteractor comicsInteractor;
 
     @Inject
-    ComicsDatabase db;
+    DBInteractor db;
 
     public MainPresenter () {
         XKCDBrowserApplication.injector.inject(this);
diff --git a/swagger.yaml b/swagger.yaml
index d7f89e101357f65fb58c89c2d0fe2ae36f88d835..262446767936eb8f79c07939064b29f07f14df55 100644
--- a/swagger.yaml
+++ b/swagger.yaml
@@ -40,7 +40,22 @@ paths:
           description: "successful operation"
           schema:
             $ref: "#/definitions/Comic"
-
+  /info.0.json:
+    get:
+      tags:
+      - "comic"
+      summary: "Get the current comic"
+      description: ""
+      operationId: "getCurrentComic"
+      consumes:
+      - "application/json"
+      produces:
+      - "application/json"
+      responses:
+        200:
+          description: "successful operation"
+          schema:
+            $ref: "#/definitions/Comic"
 definitions:
   Comic:
     type: "object"