diff --git a/pom.xml b/pom.xml
index 8cc1bd4..487a851 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,7 +14,7 @@
UTF-8
- org.toop.Main
+ org.toop.app.Main
diff --git a/src/main/java/org/toop/Main.java b/src/main/java/org/toop/app/Main.java
similarity index 75%
rename from src/main/java/org/toop/Main.java
rename to src/main/java/org/toop/app/Main.java
index e64efec..09adc71 100644
--- a/src/main/java/org/toop/Main.java
+++ b/src/main/java/org/toop/app/Main.java
@@ -1,4 +1,4 @@
-package org.toop;
+package org.toop.app;
public class Main {
public static void main(String[] args) {
diff --git a/src/main/java/org/toop/app/tictactoe/LocalTicTacToe.java b/src/main/java/org/toop/app/tictactoe/LocalTicTacToe.java
index 41d2a43..a3bc0ee 100644
--- a/src/main/java/org/toop/app/tictactoe/LocalTicTacToe.java
+++ b/src/main/java/org/toop/app/tictactoe/LocalTicTacToe.java
@@ -9,8 +9,10 @@ import org.toop.framework.eventbus.events.Events;
import org.toop.framework.eventbus.events.NetworkEvents;
import org.toop.app.tictactoe.gui.UIGameBoard;
import org.toop.framework.networking.NetworkingGameClientHandler;
-import org.toop.app.GameBase;
+import org.toop.games.GameBase;
import org.toop.game.tictactoe.ai.MinMaxTicTacToe;
+import org.toop.games.tictactoe.TicTacToe;
+
import java.util.function.Supplier;
import static java.lang.Thread.sleep;
diff --git a/src/main/java/org/toop/app/tictactoe/gui/UIGameBoard.java b/src/main/java/org/toop/app/tictactoe/gui/UIGameBoard.java
index 92f4ef2..701354a 100644
--- a/src/main/java/org/toop/app/tictactoe/gui/UIGameBoard.java
+++ b/src/main/java/org/toop/app/tictactoe/gui/UIGameBoard.java
@@ -8,7 +8,7 @@ import org.apache.logging.log4j.Logger;
import org.toop.app.gui.LocalGameSelector;
import org.toop.app.gui.RemoteGameSelector;
import org.toop.app.tictactoe.LocalTicTacToe;
-import org.toop.app.GameBase;
+import org.toop.games.GameBase;
public class UIGameBoard {
private static final int TICTACTOE_SIZE = 3;
diff --git a/src/main/java/org/toop/app/GameBase.java b/src/main/java/org/toop/games/GameBase.java
similarity index 97%
rename from src/main/java/org/toop/app/GameBase.java
rename to src/main/java/org/toop/games/GameBase.java
index 46e1832..78cc1d9 100644
--- a/src/main/java/org/toop/app/GameBase.java
+++ b/src/main/java/org/toop/games/GameBase.java
@@ -1,4 +1,4 @@
-package org.toop.app;
+package org.toop.games;
// Todo: refactor
public abstract class GameBase {
diff --git a/src/main/java/org/toop/app/Player.java b/src/main/java/org/toop/games/Player.java
similarity index 91%
rename from src/main/java/org/toop/app/Player.java
rename to src/main/java/org/toop/games/Player.java
index 137c05b..c0cab79 100644
--- a/src/main/java/org/toop/app/Player.java
+++ b/src/main/java/org/toop/games/Player.java
@@ -1,4 +1,4 @@
-package org.toop.app;
+package org.toop.games;
// Todo: refactor
public class Player {
diff --git a/src/main/java/org/toop/app/tictactoe/TicTacToe.java b/src/main/java/org/toop/games/tictactoe/TicTacToe.java
similarity index 98%
rename from src/main/java/org/toop/app/tictactoe/TicTacToe.java
rename to src/main/java/org/toop/games/tictactoe/TicTacToe.java
index bf7849f..25c0642 100644
--- a/src/main/java/org/toop/app/tictactoe/TicTacToe.java
+++ b/src/main/java/org/toop/games/tictactoe/TicTacToe.java
@@ -1,11 +1,11 @@
-package org.toop.app.tictactoe;
+package org.toop.games.tictactoe;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.toop.app.GameBase;
-import org.toop.app.Player;
+import org.toop.games.GameBase;
+import org.toop.games.Player;
import org.toop.backend.tictactoe.ParsedCommand;
import org.toop.backend.tictactoe.TicTacToeServerCommand;
diff --git a/src/main/java/org/toop/app/tictactoe/TicTacToeAI.java b/src/main/java/org/toop/games/tictactoe/TicTacToeAI.java
similarity index 98%
rename from src/main/java/org/toop/app/tictactoe/TicTacToeAI.java
rename to src/main/java/org/toop/games/tictactoe/TicTacToeAI.java
index 079f356..12adacc 100644
--- a/src/main/java/org/toop/app/tictactoe/TicTacToeAI.java
+++ b/src/main/java/org/toop/games/tictactoe/TicTacToeAI.java
@@ -1,6 +1,6 @@
-package org.toop.app.tictactoe;
+package org.toop.games.tictactoe;
-import org.toop.app.GameBase;
+import org.toop.games.GameBase;
// Todo: refactor
public class TicTacToeAI {
diff --git a/src/test/java/org/toop/game/tictactoe/GameBaseTest.java b/src/test/java/org/toop/game/tictactoe/GameBaseTest.java
index dd618c4..25d94dd 100644
--- a/src/test/java/org/toop/game/tictactoe/GameBaseTest.java
+++ b/src/test/java/org/toop/game/tictactoe/GameBaseTest.java
@@ -4,8 +4,8 @@ import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.toop.app.GameBase;
-import org.toop.app.Player;
+import org.toop.games.GameBase;
+import org.toop.games.Player;
class GameBaseTest {
diff --git a/src/test/java/org/toop/game/tictactoe/PlayerTest.java b/src/test/java/org/toop/game/tictactoe/PlayerTest.java
index 76b5743..9975d1e 100644
--- a/src/test/java/org/toop/game/tictactoe/PlayerTest.java
+++ b/src/test/java/org/toop/game/tictactoe/PlayerTest.java
@@ -4,7 +4,7 @@ import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.toop.app.Player;
+import org.toop.games.Player;
class PlayerTest {
diff --git a/src/test/java/org/toop/game/tictactoe/ai/MinMaxTicTacToeTest.java b/src/test/java/org/toop/game/tictactoe/ai/MinMaxTicTacToeTest.java
index fad8aef..789b480 100644
--- a/src/test/java/org/toop/game/tictactoe/ai/MinMaxTicTacToeTest.java
+++ b/src/test/java/org/toop/game/tictactoe/ai/MinMaxTicTacToeTest.java
@@ -5,8 +5,8 @@ import static org.junit.jupiter.api.Assertions.*;
import java.util.Set;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.toop.app.GameBase;
-import org.toop.app.tictactoe.TicTacToe;
+import org.toop.games.GameBase;
+import org.toop.games.tictactoe.TicTacToe;
/** Unit tests for MinMaxTicTacToe AI. */
public class MinMaxTicTacToeTest {