diff --git a/src/main/java/edu/ntnu/stud/chaosgame/Main.java b/src/main/java/edu/ntnu/stud/chaosgame/Main.java
index ed39dc003baef54df4b7d3f8c00ba1627e779bab..66a2f6b18a40382bd401568ac03089671dea9f1d 100644
--- a/src/main/java/edu/ntnu/stud/chaosgame/Main.java
+++ b/src/main/java/edu/ntnu/stud/chaosgame/Main.java
@@ -1,9 +1,9 @@
 package edu.ntnu.stud.chaosgame;
 
-import edu.ntnu.stud.chaosgame.model.game.ChaosGameDescription;
-import edu.ntnu.stud.chaosgame.model.game.ChaosGameFileHandler;
-import edu.ntnu.stud.chaosgame.model.game.ChaosCanvas;
-import edu.ntnu.stud.chaosgame.model.game.ChaosGame;
+import edu.ntnu.stud.chaosgame.controller.game.ChaosGameDescription;
+import edu.ntnu.stud.chaosgame.controller.game.ChaosGameFileHandler;
+import edu.ntnu.stud.chaosgame.controller.game.ChaosCanvas;
+import edu.ntnu.stud.chaosgame.controller.game.ChaosGame;
 import edu.ntnu.stud.chaosgame.model.generators.ChaosGameDescriptionFactory;
 import java.io.IOException;
 import java.util.Objects;
diff --git a/src/main/java/edu/ntnu/stud/chaosgame/model/game/ChaosCanvas.java b/src/main/java/edu/ntnu/stud/chaosgame/controller/game/ChaosCanvas.java
similarity index 98%
rename from src/main/java/edu/ntnu/stud/chaosgame/model/game/ChaosCanvas.java
rename to src/main/java/edu/ntnu/stud/chaosgame/controller/game/ChaosCanvas.java
index da6543899824ea2b145c59d7587190bc15451790..b01b189b93fef99cae16ea933d3df6b79cd94955 100644
--- a/src/main/java/edu/ntnu/stud/chaosgame/model/game/ChaosCanvas.java
+++ b/src/main/java/edu/ntnu/stud/chaosgame/controller/game/ChaosCanvas.java
@@ -1,4 +1,4 @@
-package edu.ntnu.stud.chaosgame.model.game;
+package edu.ntnu.stud.chaosgame.controller.game;
 
 import edu.ntnu.stud.chaosgame.model.data.Matrix2x2;
 import edu.ntnu.stud.chaosgame.model.data.Vector2D;
diff --git a/src/main/java/edu/ntnu/stud/chaosgame/model/game/ChaosGame.java b/src/main/java/edu/ntnu/stud/chaosgame/controller/game/ChaosGame.java
similarity index 96%
rename from src/main/java/edu/ntnu/stud/chaosgame/model/game/ChaosGame.java
rename to src/main/java/edu/ntnu/stud/chaosgame/controller/game/ChaosGame.java
index f253bc2d1936c18a0f375a86dda8b242c9b462b0..09c1d600545bf0406b77037e56355e0cf227c4ef 100644
--- a/src/main/java/edu/ntnu/stud/chaosgame/model/game/ChaosGame.java
+++ b/src/main/java/edu/ntnu/stud/chaosgame/controller/game/ChaosGame.java
@@ -1,6 +1,5 @@
-package edu.ntnu.stud.chaosgame.model.game;
+package edu.ntnu.stud.chaosgame.controller.game;
 
-import edu.ntnu.stud.chaosgame.controller.ChaosGameObserver;
 import edu.ntnu.stud.chaosgame.model.data.Vector2D;
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/src/main/java/edu/ntnu/stud/chaosgame/model/game/ChaosGameDescription.java b/src/main/java/edu/ntnu/stud/chaosgame/controller/game/ChaosGameDescription.java
similarity index 97%
rename from src/main/java/edu/ntnu/stud/chaosgame/model/game/ChaosGameDescription.java
rename to src/main/java/edu/ntnu/stud/chaosgame/controller/game/ChaosGameDescription.java
index f7c6ab889075c42b1a830df6bb8478ce08baf085..74945186d6f782ef9e716ed7baf673f683959969 100644
--- a/src/main/java/edu/ntnu/stud/chaosgame/model/game/ChaosGameDescription.java
+++ b/src/main/java/edu/ntnu/stud/chaosgame/controller/game/ChaosGameDescription.java
@@ -1,4 +1,4 @@
-package edu.ntnu.stud.chaosgame.model.game;
+package edu.ntnu.stud.chaosgame.controller.game;
 
 import edu.ntnu.stud.chaosgame.model.data.Vector2D;
 
diff --git a/src/main/java/edu/ntnu/stud/chaosgame/model/game/ChaosGameFileHandler.java b/src/main/java/edu/ntnu/stud/chaosgame/controller/game/ChaosGameFileHandler.java
similarity index 97%
rename from src/main/java/edu/ntnu/stud/chaosgame/model/game/ChaosGameFileHandler.java
rename to src/main/java/edu/ntnu/stud/chaosgame/controller/game/ChaosGameFileHandler.java
index 47300b2b779fc8f82026f6db1b54de68e3d617dc..2b5a9e99329d07a2a9bfff97108c8a5c1d3a3cd6 100644
--- a/src/main/java/edu/ntnu/stud/chaosgame/model/game/ChaosGameFileHandler.java
+++ b/src/main/java/edu/ntnu/stud/chaosgame/controller/game/ChaosGameFileHandler.java
@@ -1,8 +1,9 @@
-package edu.ntnu.stud.chaosgame.model.game;
+package edu.ntnu.stud.chaosgame.controller.game;
 
 import edu.ntnu.stud.chaosgame.model.data.Complex;
 import edu.ntnu.stud.chaosgame.model.data.Matrix2x2;
 import edu.ntnu.stud.chaosgame.model.data.Vector2D;
+import edu.ntnu.stud.chaosgame.controller.game.ChaosGameDescription;
 import edu.ntnu.stud.chaosgame.model.transformations.AffineTransform2D;
 import edu.ntnu.stud.chaosgame.model.transformations.JuliaTransform;
 import edu.ntnu.stud.chaosgame.model.transformations.Transform2D;
diff --git a/src/main/java/edu/ntnu/stud/chaosgame/controller/ChaosGameObserver.java b/src/main/java/edu/ntnu/stud/chaosgame/controller/game/ChaosGameObserver.java
similarity index 73%
rename from src/main/java/edu/ntnu/stud/chaosgame/controller/ChaosGameObserver.java
rename to src/main/java/edu/ntnu/stud/chaosgame/controller/game/ChaosGameObserver.java
index c21cf7441a897d58d495d7096eb12b7102b9b6e8..e04a44dad64a2371ab6958b9523e3b83ae055561 100644
--- a/src/main/java/edu/ntnu/stud/chaosgame/controller/ChaosGameObserver.java
+++ b/src/main/java/edu/ntnu/stud/chaosgame/controller/game/ChaosGameObserver.java
@@ -1,8 +1,4 @@
-package edu.ntnu.stud.chaosgame.controller;
-
-import edu.ntnu.stud.chaosgame.model.game.ChaosCanvas;
-import edu.ntnu.stud.chaosgame.model.game.ChaosGame;
-import edu.ntnu.stud.chaosgame.model.game.ChaosGameDescription;
+package edu.ntnu.stud.chaosgame.controller.game;
 
 /**
  * Observer interface for monitoring changes to the active
diff --git a/src/main/java/edu/ntnu/stud/chaosgame/model/data/Matrix2x2.java b/src/main/java/edu/ntnu/stud/chaosgame/model/data/Matrix2x2.java
index 8b5e1de1d3f64ce848ab1d6d9d6e65679226d184..945ee4d4b1868439189f08a15a2b7cafa9221d42 100644
--- a/src/main/java/edu/ntnu/stud/chaosgame/model/data/Matrix2x2.java
+++ b/src/main/java/edu/ntnu/stud/chaosgame/model/data/Matrix2x2.java
@@ -1,6 +1,6 @@
 package edu.ntnu.stud.chaosgame.model.data;
 
-import edu.ntnu.stud.chaosgame.model.game.ChaosGameDescription;
+import edu.ntnu.stud.chaosgame.controller.game.ChaosGameDescription;
 
 /**
  * Class representing a 2x2 matrix.
diff --git a/src/main/java/edu/ntnu/stud/chaosgame/model/generators/ChaosGameDescriptionFactory.java b/src/main/java/edu/ntnu/stud/chaosgame/model/generators/ChaosGameDescriptionFactory.java
index 78a77384cd499d5b9efc8fd58d4783f6c5786cc7..a83986b1a4e732231ad3b43942915b068256d7aa 100644
--- a/src/main/java/edu/ntnu/stud/chaosgame/model/generators/ChaosGameDescriptionFactory.java
+++ b/src/main/java/edu/ntnu/stud/chaosgame/model/generators/ChaosGameDescriptionFactory.java
@@ -1,7 +1,7 @@
 package edu.ntnu.stud.chaosgame.model.generators;
 
-import edu.ntnu.stud.chaosgame.model.game.ChaosGameDescription;
-import edu.ntnu.stud.chaosgame.model.game.ChaosGameFileHandler;
+import edu.ntnu.stud.chaosgame.controller.game.ChaosGameDescription;
+import edu.ntnu.stud.chaosgame.controller.game.ChaosGameFileHandler;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
diff --git a/src/main/java/edu/ntnu/stud/chaosgame/model/transformations/AffineTransform2D.java b/src/main/java/edu/ntnu/stud/chaosgame/model/transformations/AffineTransform2D.java
index 65a871df227eddf344cf43b92c214df0cd1530f1..5d519ba0a1ee07cc0cfe9807e5a3ba7551cb5d2f 100644
--- a/src/main/java/edu/ntnu/stud/chaosgame/model/transformations/AffineTransform2D.java
+++ b/src/main/java/edu/ntnu/stud/chaosgame/model/transformations/AffineTransform2D.java
@@ -2,7 +2,7 @@ package edu.ntnu.stud.chaosgame.model.transformations;
 
 import edu.ntnu.stud.chaosgame.model.data.Matrix2x2;
 import edu.ntnu.stud.chaosgame.model.data.Vector2D;
-import edu.ntnu.stud.chaosgame.model.game.ChaosGameFileHandler;
+import edu.ntnu.stud.chaosgame.controller.game.ChaosGameFileHandler;
 
 /**
  * Represents affine transformations in a 2D-plane by extending the abstract
diff --git a/src/main/java/edu/ntnu/stud/chaosgame/model/transformations/JuliaTransform.java b/src/main/java/edu/ntnu/stud/chaosgame/model/transformations/JuliaTransform.java
index c6cf7e0b7cfbb2b2147f2185d79f30b90a53cfc0..abac0e5b85223b496ad60110669b6f71075d4a45 100644
--- a/src/main/java/edu/ntnu/stud/chaosgame/model/transformations/JuliaTransform.java
+++ b/src/main/java/edu/ntnu/stud/chaosgame/model/transformations/JuliaTransform.java
@@ -2,7 +2,7 @@ package edu.ntnu.stud.chaosgame.model.transformations;
 
 import edu.ntnu.stud.chaosgame.model.data.Complex;
 import edu.ntnu.stud.chaosgame.model.data.Vector2D;
-import edu.ntnu.stud.chaosgame.model.game.ChaosGameFileHandler;
+import edu.ntnu.stud.chaosgame.controller.game.ChaosGameFileHandler;
 
 public class JuliaTransform extends Transform2D {
 
diff --git a/src/test/java/edu/ntnu/stud/chaosgame/game/ChaosCanvasTest.java b/src/test/java/edu/ntnu/stud/chaosgame/game/ChaosCanvasTest.java
index a5c61525e31d8b4eb3aaf72988084b389957edb9..19a48136b164bbed5d7a6ed0d25afbd8f43d4ea0 100644
--- a/src/test/java/edu/ntnu/stud/chaosgame/game/ChaosCanvasTest.java
+++ b/src/test/java/edu/ntnu/stud/chaosgame/game/ChaosCanvasTest.java
@@ -1,7 +1,6 @@
 package edu.ntnu.stud.chaosgame.game;
-import edu.ntnu.stud.chaosgame.controller.ChaosGameObserver;
 import edu.ntnu.stud.chaosgame.model.data.Vector2D;
-import edu.ntnu.stud.chaosgame.model.game.ChaosCanvas;
+import edu.ntnu.stud.chaosgame.controller.game.ChaosCanvas;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/src/test/java/edu/ntnu/stud/chaosgame/game/ChaosGameDescriptionTest.java b/src/test/java/edu/ntnu/stud/chaosgame/game/ChaosGameDescriptionTest.java
index 027010f97991560f3ba4ff46cb8999a5500a8094..fdd360b47c2ffa60396c68901f925199a289ef82 100644
--- a/src/test/java/edu/ntnu/stud/chaosgame/game/ChaosGameDescriptionTest.java
+++ b/src/test/java/edu/ntnu/stud/chaosgame/game/ChaosGameDescriptionTest.java
@@ -3,7 +3,7 @@ package edu.ntnu.stud.chaosgame.game;
 import edu.ntnu.stud.chaosgame.model.data.Complex;
 import edu.ntnu.stud.chaosgame.model.data.Matrix2x2;
 import edu.ntnu.stud.chaosgame.model.data.Vector2D;
-import edu.ntnu.stud.chaosgame.model.game.ChaosGameDescription;
+import edu.ntnu.stud.chaosgame.controller.game.ChaosGameDescription;
 import edu.ntnu.stud.chaosgame.model.transformations.AffineTransform2D;
 import edu.ntnu.stud.chaosgame.model.transformations.JuliaTransform;
 import edu.ntnu.stud.chaosgame.model.transformations.Transform2D;
diff --git a/src/test/java/edu/ntnu/stud/chaosgame/game/ChaosGameTest.java b/src/test/java/edu/ntnu/stud/chaosgame/game/ChaosGameTest.java
index 841a0676cfb364516d347295d3962f2544e4ea00..a2d5afbc7abc15ea9b5a27ef263d99a089245f2c 100644
--- a/src/test/java/edu/ntnu/stud/chaosgame/game/ChaosGameTest.java
+++ b/src/test/java/edu/ntnu/stud/chaosgame/game/ChaosGameTest.java
@@ -1,6 +1,6 @@
 package edu.ntnu.stud.chaosgame.game;
 
-import edu.ntnu.stud.chaosgame.model.game.ChaosGame;
+import edu.ntnu.stud.chaosgame.controller.game.ChaosGame;
 import org.junit.jupiter.api.BeforeEach;
 
 /**