diff --git a/core/out/production/classes/META-INF/galaxytrucker.core.main.kotlin_module b/core/out/production/classes/META-INF/galaxytrucker.core.main.kotlin_module
new file mode 100644
index 0000000000000000000000000000000000000000..8fb60192d378759239a3ecbf60eac8c8de446e9c
Binary files /dev/null and b/core/out/production/classes/META-INF/galaxytrucker.core.main.kotlin_module differ
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Main.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Main.java
index 23bf73a55615885bf90d6da31fbaa746d2793f5b..30f08fa6e76b07398dd8174db6170da104c839a2 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Main.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Main.java
@@ -4,6 +4,7 @@ import com.badlogic.gdx.Game;
 import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.graphics.GL20;
 import com.badlogic.gdx.graphics.OrthographicCamera;
+import com.badlogic.gdx.graphics.Texture;
 import com.badlogic.gdx.graphics.g2d.SpriteBatch;
 
 public class Main extends Game {
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Events/EventGUI.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Events/EventGUI.java
new file mode 100644
index 0000000000000000000000000000000000000000..2558431a9cb964517b8cb52547941471819550fd
--- /dev/null
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Events/EventGUI.java
@@ -0,0 +1,77 @@
+package com.galaxytrucker.galaxytruckerreloaded.View.UI.Events;
+
+import com.badlogic.gdx.graphics.OrthographicCamera;
+import com.badlogic.gdx.graphics.Texture;
+import com.badlogic.gdx.graphics.g2d.SpriteBatch;
+import com.badlogic.gdx.scenes.scene2d.ui.List;
+import com.galaxytrucker.galaxytruckerreloaded.Main;
+
+/**
+ * Shows an event
+ */
+public class EventGUI {
+
+    /**
+     * SpriteBatch
+     */
+    private SpriteBatch batch;
+
+    /**
+     * Orthographic camera
+     */
+    private OrthographicCamera camera;
+
+    /**
+     * Event pages
+     */
+    private List<EventPage> eventPages;
+
+    /**
+     * First event page
+     */
+    private EventPage firstPage;
+
+    /**
+     * Event background texture
+     */
+    private Texture backgroundTexture;
+
+    /**
+     * Setup called after initialisation
+     */
+    private void setup() {
+    }
+
+    /**
+     * Show the event gui
+     */
+    public void showEventGUI() {
+    }
+
+    /**
+     * Hide the event gui
+     */
+    public void hideEventGUI() {
+    }
+
+    /**
+     * Dispose eventGUI
+     */
+    public void disposeEventGUI() {
+    }
+
+    /**
+     * Switch event page
+     * if there is no next page hide the event gui
+     */
+    private void nextPage() {
+    }
+
+    /**
+     * Constructor
+     *
+     * @param main - main class object for SpriteBatch
+     */
+    public EventGUI(Main main) {
+    }
+}
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Events/EventPage.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Events/EventPage.java
new file mode 100644
index 0000000000000000000000000000000000000000..72cb2e12b16e39390519f75fed48139adb179f4b
--- /dev/null
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Events/EventPage.java
@@ -0,0 +1,70 @@
+package com.galaxytrucker.galaxytruckerreloaded.View.UI.Events;
+
+import com.badlogic.gdx.graphics.OrthographicCamera;
+import com.badlogic.gdx.graphics.Texture;
+import com.badlogic.gdx.graphics.g2d.SpriteBatch;
+import com.badlogic.gdx.scenes.scene2d.ui.ImageButton;
+import com.badlogic.gdx.scenes.scene2d.ui.List;
+import com.galaxytrucker.galaxytruckerreloaded.Main;
+
+/** Includes all content shown on a single event page */
+public class EventPage {
+
+    /**
+     * SpriteBatch
+     */
+    private SpriteBatch batch;
+
+    /**
+     * Orthographic camera
+     */
+    private OrthographicCamera camera;
+
+    /**
+     * Icons to draw (such as rewards)
+     */
+    private List<Texture> drawables;
+
+    /**
+     * Next page button
+     */
+    private ImageButton nextPageButton;
+
+    /**
+     * Next page button texture
+     */
+    private Texture nextPageButtonTexture;
+
+    /**
+     * Setup called after initialisation
+     */
+    private void setup() {
+    }
+
+
+    /**
+     * Draw on top of event gui
+     */
+    public void showPage() {
+    }
+
+    /**
+     * Hide the page
+     */
+    public void hidePage() {
+    }
+
+    /**
+     * Dispose of page
+     */
+    public void disposePage() {
+    }
+
+    /**
+     * Constructor
+     *
+     * @param main - the main class object
+     */
+    public EventPage(Main main) {
+    }
+}
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Ship/ShieldView.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Ship/ShieldView.java
new file mode 100644
index 0000000000000000000000000000000000000000..4b389b4e1537a4b69c4362f774c1833b0e0e2277
--- /dev/null
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Ship/ShieldView.java
@@ -0,0 +1,13 @@
+package com.galaxytrucker.galaxytruckerreloaded.View.UI.Ship;
+
+import com.badlogic.gdx.graphics.OrthographicCamera;
+import com.badlogic.gdx.graphics.g2d.SpriteBatch;
+
+public class ShieldView {
+
+    /** SpriteBatch */
+    private SpriteBatch batch;
+
+    /** Orthographic camera */
+    private OrthographicCamera camera;
+}
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Ship/ShipView.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Ship/ShipView.java
new file mode 100644
index 0000000000000000000000000000000000000000..8d3eea1676c682216726f1c6cf8e6e3dc8fd2d51
--- /dev/null
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Ship/ShipView.java
@@ -0,0 +1,79 @@
+package com.galaxytrucker.galaxytruckerreloaded.View.UI.Ship;
+
+import com.badlogic.gdx.graphics.OrthographicCamera;
+import com.badlogic.gdx.graphics.Texture;
+import com.badlogic.gdx.graphics.g2d.SpriteBatch;
+import com.galaxytrucker.galaxytruckerreloaded.Main;
+import com.galaxytrucker.galaxytruckerreloaded.Model.Ship;
+
+public class ShipView {
+
+    /**
+     * SpriteBatch
+     */
+    private SpriteBatch batch;
+
+    /**
+     * Orthographic camera
+     */
+    private OrthographicCamera camera;
+
+    /**
+     * Ship used by this view
+     */
+    private Ship ship;
+
+    /**
+     * Background image if its the enemy ship
+     */
+    private Texture enemyShipBackgroundTexture;
+
+    /**
+     * Ship shield view
+     */
+    private ShieldView shieldView;
+
+    /**
+     * Setup called after initialisation
+     */
+    private void setup() {
+    }
+
+    /**
+     * Show the ship
+     */
+    public void showShipView() {
+    }
+
+    /**
+     * Hide the ship
+     */
+    public void hideShipView() {
+    }
+
+    /**
+     * Dispose of ship
+     */
+    public void disposeShipView() {
+    }
+
+    /**
+     * Ship hop animation
+     */
+    private void hyperspeedHopAnimation() {
+    }
+
+    /**
+     * Shield destroyed animation
+     */
+    private void shipDestroyedAnimation() {
+    }
+
+    /**
+     * Constructor
+     *
+     * @param main - the main class for SpriteBatch
+     */
+    public ShipView(Main main) {
+    }
+}