diff --git a/src/main/java/se/urmo/game/Main.java b/src/main/java/se/urmo/game/Main.java
index 34637d8..7d498b5 100644
--- a/src/main/java/se/urmo/game/Main.java
+++ b/src/main/java/se/urmo/game/Main.java
@@ -1,5 +1,7 @@
package se.urmo.game;
+import se.urmo.game.main.Game;
+
//TIP To Run code, press or
// click the icon in the gutter.
public class Main {
diff --git a/src/main/java/se/urmo/game/CollisionChecker.java b/src/main/java/se/urmo/game/collision/CollisionChecker.java
similarity index 95%
rename from src/main/java/se/urmo/game/CollisionChecker.java
rename to src/main/java/se/urmo/game/collision/CollisionChecker.java
index b3a8ab4..8db5abd 100644
--- a/src/main/java/se/urmo/game/CollisionChecker.java
+++ b/src/main/java/se/urmo/game/collision/CollisionChecker.java
@@ -1,6 +1,9 @@
-package se.urmo.game;
+package se.urmo.game.collision;
+import se.urmo.game.util.Direction;
+import se.urmo.game.map.GameMap;
+
import java.awt.Point;
import java.util.Collections;
import java.util.List;
diff --git a/src/main/java/se/urmo/game/PacMan.java b/src/main/java/se/urmo/game/entities/PacMan.java
similarity index 94%
rename from src/main/java/se/urmo/game/PacMan.java
rename to src/main/java/se/urmo/game/entities/PacMan.java
index b2a2fb6..99f2e80 100644
--- a/src/main/java/se/urmo/game/PacMan.java
+++ b/src/main/java/se/urmo/game/entities/PacMan.java
@@ -1,5 +1,10 @@
-package se.urmo.game;
+package se.urmo.game.entities;
+import se.urmo.game.collision.CollisionChecker;
+import se.urmo.game.util.Direction;
+import se.urmo.game.main.Game;
+import se.urmo.game.main.GamePanel;
+import se.urmo.game.map.GameMap;
import se.urmo.game.util.LoadSave;
import se.urmo.game.util.MiscUtil;
diff --git a/src/main/java/se/urmo/game/Game.java b/src/main/java/se/urmo/game/main/Game.java
similarity index 98%
rename from src/main/java/se/urmo/game/Game.java
rename to src/main/java/se/urmo/game/main/Game.java
index f0490bb..b9b7944 100644
--- a/src/main/java/se/urmo/game/Game.java
+++ b/src/main/java/se/urmo/game/main/Game.java
@@ -1,4 +1,4 @@
-package se.urmo.game;
+package se.urmo.game.main;
import se.urmo.game.state.GameStateManager;
diff --git a/src/main/java/se/urmo/game/GamePanel.java b/src/main/java/se/urmo/game/main/GamePanel.java
similarity index 98%
rename from src/main/java/se/urmo/game/GamePanel.java
rename to src/main/java/se/urmo/game/main/GamePanel.java
index 7eab92f..e79cf0a 100644
--- a/src/main/java/se/urmo/game/GamePanel.java
+++ b/src/main/java/se/urmo/game/main/GamePanel.java
@@ -1,4 +1,4 @@
-package se.urmo.game;
+package se.urmo.game.main;
import se.urmo.game.input.KeyHandler;
import se.urmo.game.state.GameStateManager;
diff --git a/src/main/java/se/urmo/game/GameMap.java b/src/main/java/se/urmo/game/map/GameMap.java
similarity index 98%
rename from src/main/java/se/urmo/game/GameMap.java
rename to src/main/java/se/urmo/game/map/GameMap.java
index 7eba51f..783484c 100644
--- a/src/main/java/se/urmo/game/GameMap.java
+++ b/src/main/java/se/urmo/game/map/GameMap.java
@@ -1,6 +1,6 @@
-package se.urmo.game;
+package se.urmo.game.map;
-import se.urmo.game.map.MapTile;
+import se.urmo.game.main.GamePanel;
import se.urmo.game.util.LoadSave;
import java.awt.*;
diff --git a/src/main/java/se/urmo/game/state/GameStateManager.java b/src/main/java/se/urmo/game/state/GameStateManager.java
index aaef185..144ab75 100644
--- a/src/main/java/se/urmo/game/state/GameStateManager.java
+++ b/src/main/java/se/urmo/game/state/GameStateManager.java
@@ -1,6 +1,6 @@
package se.urmo.game.state;
-import se.urmo.game.Game;
+import se.urmo.game.main.Game;
import java.awt.*;
import java.util.HashMap;
diff --git a/src/main/java/se/urmo/game/state/PlayingState.java b/src/main/java/se/urmo/game/state/PlayingState.java
index 3314788..b532d8d 100644
--- a/src/main/java/se/urmo/game/state/PlayingState.java
+++ b/src/main/java/se/urmo/game/state/PlayingState.java
@@ -1,6 +1,10 @@
package se.urmo.game.state;
-import se.urmo.game.*;
+import se.urmo.game.collision.CollisionChecker;
+import se.urmo.game.entities.PacMan;
+import se.urmo.game.main.Game;
+import se.urmo.game.map.GameMap;
+import se.urmo.game.util.Direction;
import java.awt.*;
import java.awt.event.KeyEvent;
diff --git a/src/main/java/se/urmo/game/Direction.java b/src/main/java/se/urmo/game/util/Direction.java
similarity index 56%
rename from src/main/java/se/urmo/game/Direction.java
rename to src/main/java/se/urmo/game/util/Direction.java
index 7911bbc..eafd133 100644
--- a/src/main/java/se/urmo/game/Direction.java
+++ b/src/main/java/se/urmo/game/util/Direction.java
@@ -1,10 +1,6 @@
-package se.urmo.game;
+package se.urmo.game.util;
public enum Direction {
- // private static final int RIGHT = 0;
-// private static final int LEFT = 1;
-// private static final int DOWN = 2;
-// private static final int UP = 3;
RIGHT(1, 0),
LEFT(-1, 0),
DOWN(0, 1),