diff --git a/.gitignore b/.gitignore
index 7b9c2f91daec6c50c0d95c5dc74cb2535b9c71c1..751f7905487787258192acb64ce31b29ce81e959 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,13 +1,13 @@
-bin/
+AI/bin/
 __pycache__/
 .metadata
-gui/.classpath
-gui/bin
-gui/.project
-gui/.settings
-gui/out
-gui/.idea
-gui/gui.iml
+GUI/.classpath
+GUI/bin
+GUI/.project
+GUI/.settings
+GUI/out
+GUI/.idea
+GUI/gui.iml
 #Latex generated files
 *.log
 *.out
diff --git a/src/game/connect4.cpp b/AI/src/game/connect4.cpp
similarity index 100%
rename from src/game/connect4.cpp
rename to AI/src/game/connect4.cpp
diff --git a/src/game/connect4.hpp b/AI/src/game/connect4.hpp
similarity index 100%
rename from src/game/connect4.hpp
rename to AI/src/game/connect4.hpp
diff --git a/src/game/game.hpp b/AI/src/game/game.hpp
similarity index 100%
rename from src/game/game.hpp
rename to AI/src/game/game.hpp
diff --git a/src/game/lines_of_action.cpp b/AI/src/game/lines_of_action.cpp
similarity index 100%
rename from src/game/lines_of_action.cpp
rename to AI/src/game/lines_of_action.cpp
diff --git a/src/game/lines_of_action.hpp b/AI/src/game/lines_of_action.hpp
similarity index 100%
rename from src/game/lines_of_action.hpp
rename to AI/src/game/lines_of_action.hpp
diff --git a/src/game/morpion.cpp b/AI/src/game/morpion.cpp
similarity index 100%
rename from src/game/morpion.cpp
rename to AI/src/game/morpion.cpp
diff --git a/src/game/morpion.hpp b/AI/src/game/morpion.hpp
similarity index 100%
rename from src/game/morpion.hpp
rename to AI/src/game/morpion.hpp
diff --git a/src/game/penguin.cpp b/AI/src/game/penguin.cpp
similarity index 100%
rename from src/game/penguin.cpp
rename to AI/src/game/penguin.cpp
diff --git a/src/game/penguin.hpp b/AI/src/game/penguin.hpp
similarity index 100%
rename from src/game/penguin.hpp
rename to AI/src/game/penguin.hpp
diff --git a/src/game/test_connect4.cpp b/AI/src/game/test_connect4.cpp
similarity index 100%
rename from src/game/test_connect4.cpp
rename to AI/src/game/test_connect4.cpp
diff --git a/src/game/test_connect4.hpp b/AI/src/game/test_connect4.hpp
similarity index 100%
rename from src/game/test_connect4.hpp
rename to AI/src/game/test_connect4.hpp
diff --git a/src/game/test_lines_of_action.cpp b/AI/src/game/test_lines_of_action.cpp
similarity index 100%
rename from src/game/test_lines_of_action.cpp
rename to AI/src/game/test_lines_of_action.cpp
diff --git a/src/game/test_lines_of_action.hpp b/AI/src/game/test_lines_of_action.hpp
similarity index 100%
rename from src/game/test_lines_of_action.hpp
rename to AI/src/game/test_lines_of_action.hpp
diff --git a/src/game/test_two_players_game.cpp b/AI/src/game/test_two_players_game.cpp
similarity index 100%
rename from src/game/test_two_players_game.cpp
rename to AI/src/game/test_two_players_game.cpp
diff --git a/src/game/test_two_players_game.hpp b/AI/src/game/test_two_players_game.hpp
similarity index 100%
rename from src/game/test_two_players_game.hpp
rename to AI/src/game/test_two_players_game.hpp
diff --git a/src/json/json.hpp b/AI/src/json/json.hpp
similarity index 100%
rename from src/json/json.hpp
rename to AI/src/json/json.hpp
diff --git a/src/main/main.cpp b/AI/src/main/main.cpp
similarity index 100%
rename from src/main/main.cpp
rename to AI/src/main/main.cpp
diff --git a/src/mcts/allocator.cpp b/AI/src/mcts/allocator.cpp
similarity index 100%
rename from src/mcts/allocator.cpp
rename to AI/src/mcts/allocator.cpp
diff --git a/src/mcts/allocator.hpp b/AI/src/mcts/allocator.hpp
similarity index 100%
rename from src/mcts/allocator.hpp
rename to AI/src/mcts/allocator.hpp
diff --git a/src/mcts/mcts.hpp b/AI/src/mcts/mcts.hpp
similarity index 100%
rename from src/mcts/mcts.hpp
rename to AI/src/mcts/mcts.hpp
diff --git a/src/mcts/mcts_two_players.cpp b/AI/src/mcts/mcts_two_players.cpp
similarity index 100%
rename from src/mcts/mcts_two_players.cpp
rename to AI/src/mcts/mcts_two_players.cpp
diff --git a/src/mcts/mcts_two_players.hpp b/AI/src/mcts/mcts_two_players.hpp
similarity index 100%
rename from src/mcts/mcts_two_players.hpp
rename to AI/src/mcts/mcts_two_players.hpp
diff --git a/src/mcts/node.cpp b/AI/src/mcts/node.cpp
similarity index 100%
rename from src/mcts/node.cpp
rename to AI/src/mcts/node.cpp
diff --git a/src/mcts/node.hpp b/AI/src/mcts/node.hpp
similarity index 100%
rename from src/mcts/node.hpp
rename to AI/src/mcts/node.hpp
diff --git a/src/mcts/openings.cpp b/AI/src/mcts/openings.cpp
similarity index 100%
rename from src/mcts/openings.cpp
rename to AI/src/mcts/openings.cpp
diff --git a/src/mcts/openings.hpp b/AI/src/mcts/openings.hpp
similarity index 100%
rename from src/mcts/openings.hpp
rename to AI/src/mcts/openings.hpp
diff --git a/src/mcts/statistics.cpp b/AI/src/mcts/statistics.cpp
similarity index 100%
rename from src/mcts/statistics.cpp
rename to AI/src/mcts/statistics.cpp
diff --git a/src/mcts/statistics.hpp b/AI/src/mcts/statistics.hpp
similarity index 100%
rename from src/mcts/statistics.hpp
rename to AI/src/mcts/statistics.hpp
diff --git a/src/mcts/test_allocator.cpp b/AI/src/mcts/test_allocator.cpp
similarity index 100%
rename from src/mcts/test_allocator.cpp
rename to AI/src/mcts/test_allocator.cpp
diff --git a/src/mcts/test_allocator.hpp b/AI/src/mcts/test_allocator.hpp
similarity index 100%
rename from src/mcts/test_allocator.hpp
rename to AI/src/mcts/test_allocator.hpp
diff --git a/src/mcts/test_mcts_two_players.cpp b/AI/src/mcts/test_mcts_two_players.cpp
similarity index 100%
rename from src/mcts/test_mcts_two_players.cpp
rename to AI/src/mcts/test_mcts_two_players.cpp
diff --git a/src/mcts/test_mcts_two_players.hpp b/AI/src/mcts/test_mcts_two_players.hpp
similarity index 100%
rename from src/mcts/test_mcts_two_players.hpp
rename to AI/src/mcts/test_mcts_two_players.hpp
diff --git a/src/minmax/connect4_heuristic.cpp b/AI/src/minmax/connect4_heuristic.cpp
similarity index 100%
rename from src/minmax/connect4_heuristic.cpp
rename to AI/src/minmax/connect4_heuristic.cpp
diff --git a/src/minmax/connect4_heuristic.hpp b/AI/src/minmax/connect4_heuristic.hpp
similarity index 100%
rename from src/minmax/connect4_heuristic.hpp
rename to AI/src/minmax/connect4_heuristic.hpp
diff --git a/src/minmax/heuristic.hpp b/AI/src/minmax/heuristic.hpp
similarity index 100%
rename from src/minmax/heuristic.hpp
rename to AI/src/minmax/heuristic.hpp
diff --git a/src/minmax/minmax.hpp b/AI/src/minmax/minmax.hpp
similarity index 100%
rename from src/minmax/minmax.hpp
rename to AI/src/minmax/minmax.hpp
diff --git a/src/minmax/test_minmax.cpp b/AI/src/minmax/test_minmax.cpp
similarity index 100%
rename from src/minmax/test_minmax.cpp
rename to AI/src/minmax/test_minmax.cpp
diff --git a/src/minmax/test_minmax.hpp b/AI/src/minmax/test_minmax.hpp
similarity index 100%
rename from src/minmax/test_minmax.hpp
rename to AI/src/minmax/test_minmax.hpp
diff --git a/src/monte_carlo/monte_carlo.cpp b/AI/src/monte_carlo/monte_carlo.cpp
similarity index 100%
rename from src/monte_carlo/monte_carlo.cpp
rename to AI/src/monte_carlo/monte_carlo.cpp
diff --git a/src/monte_carlo/monte_carlo.hpp b/AI/src/monte_carlo/monte_carlo.hpp
similarity index 100%
rename from src/monte_carlo/monte_carlo.hpp
rename to AI/src/monte_carlo/monte_carlo.hpp
diff --git a/src/monte_carlo/test_monte_carlo.cpp b/AI/src/monte_carlo/test_monte_carlo.cpp
similarity index 100%
rename from src/monte_carlo/test_monte_carlo.cpp
rename to AI/src/monte_carlo/test_monte_carlo.cpp
diff --git a/src/monte_carlo/test_monte_carlo.hpp b/AI/src/monte_carlo/test_monte_carlo.hpp
similarity index 100%
rename from src/monte_carlo/test_monte_carlo.hpp
rename to AI/src/monte_carlo/test_monte_carlo.hpp
diff --git a/src/util/bits.cpp b/AI/src/util/bits.cpp
similarity index 100%
rename from src/util/bits.cpp
rename to AI/src/util/bits.cpp
diff --git a/src/util/bits.hpp b/AI/src/util/bits.hpp
similarity index 100%
rename from src/util/bits.hpp
rename to AI/src/util/bits.hpp
diff --git a/src/util/bits.hpp.gch b/AI/src/util/bits.hpp.gch
similarity index 100%
rename from src/util/bits.hpp.gch
rename to AI/src/util/bits.hpp.gch
diff --git a/src/util/display_node.cpp b/AI/src/util/display_node.cpp
similarity index 100%
rename from src/util/display_node.cpp
rename to AI/src/util/display_node.cpp
diff --git a/src/util/display_node.hpp b/AI/src/util/display_node.hpp
similarity index 100%
rename from src/util/display_node.hpp
rename to AI/src/util/display_node.hpp
diff --git a/src/util/fast_log.cpp b/AI/src/util/fast_log.cpp
similarity index 100%
rename from src/util/fast_log.cpp
rename to AI/src/util/fast_log.cpp
diff --git a/src/util/fast_log.hpp b/AI/src/util/fast_log.hpp
similarity index 100%
rename from src/util/fast_log.hpp
rename to AI/src/util/fast_log.hpp
diff --git a/src/util/learning.hpp b/AI/src/util/learning.hpp
similarity index 100%
rename from src/util/learning.hpp
rename to AI/src/util/learning.hpp
diff --git a/src/util/omp_util.cpp b/AI/src/util/omp_util.cpp
similarity index 100%
rename from src/util/omp_util.cpp
rename to AI/src/util/omp_util.cpp
diff --git a/src/util/omp_util.hpp b/AI/src/util/omp_util.hpp
similarity index 100%
rename from src/util/omp_util.hpp
rename to AI/src/util/omp_util.hpp
diff --git a/src/util/pow.hpp b/AI/src/util/pow.hpp
similarity index 100%
rename from src/util/pow.hpp
rename to AI/src/util/pow.hpp
diff --git a/src/util/test_bits.cpp b/AI/src/util/test_bits.cpp
similarity index 100%
rename from src/util/test_bits.cpp
rename to AI/src/util/test_bits.cpp
diff --git a/src/util/test_bits.hpp b/AI/src/util/test_bits.hpp
similarity index 100%
rename from src/util/test_bits.hpp
rename to AI/src/util/test_bits.hpp
diff --git a/src/util/test_fast_log.cpp b/AI/src/util/test_fast_log.cpp
similarity index 100%
rename from src/util/test_fast_log.cpp
rename to AI/src/util/test_fast_log.cpp
diff --git a/src/util/test_fast_log.hpp b/AI/src/util/test_fast_log.hpp
similarity index 100%
rename from src/util/test_fast_log.hpp
rename to AI/src/util/test_fast_log.hpp
diff --git a/tools/board2Bitboard.py b/AI/tools/board2Bitboard.py
similarity index 100%
rename from tools/board2Bitboard.py
rename to AI/tools/board2Bitboard.py
diff --git a/tools/drawState.py b/AI/tools/drawState.py
similarity index 100%
rename from tools/drawState.py
rename to AI/tools/drawState.py
diff --git a/tools/gui.py b/AI/tools/gui.py
similarity index 100%
rename from tools/gui.py
rename to AI/tools/gui.py
diff --git a/gui/SceneBuilder-8.1.1.jar b/GUI/SceneBuilder-8.1.1.jar
similarity index 100%
rename from gui/SceneBuilder-8.1.1.jar
rename to GUI/SceneBuilder-8.1.1.jar
diff --git a/gui/json-20160212.jar b/GUI/json-20160212.jar
similarity index 100%
rename from gui/json-20160212.jar
rename to GUI/json-20160212.jar
diff --git a/gui/src/controller/Controller.java b/GUI/src/controller/Controller.java
similarity index 100%
rename from gui/src/controller/Controller.java
rename to GUI/src/controller/Controller.java
diff --git a/gui/src/controller/UpdateThread.java b/GUI/src/controller/UpdateThread.java
similarity index 100%
rename from gui/src/controller/UpdateThread.java
rename to GUI/src/controller/UpdateThread.java
diff --git a/gui/src/main/Main.java b/GUI/src/main/Main.java
similarity index 100%
rename from gui/src/main/Main.java
rename to GUI/src/main/Main.java
diff --git a/gui/src/model/GameState.java b/GUI/src/model/GameState.java
similarity index 100%
rename from gui/src/model/GameState.java
rename to GUI/src/model/GameState.java
diff --git a/gui/src/model/Move.java b/GUI/src/model/Move.java
similarity index 100%
rename from gui/src/model/Move.java
rename to GUI/src/model/Move.java
diff --git a/gui/src/model/Player.java b/GUI/src/model/Player.java
similarity index 100%
rename from gui/src/model/Player.java
rename to GUI/src/model/Player.java
diff --git a/gui/src/model/Tile.java b/GUI/src/model/Tile.java
similarity index 100%
rename from gui/src/model/Tile.java
rename to GUI/src/model/Tile.java
diff --git a/gui/resource/clic.wav b/GUI/src/resource/clic.wav
similarity index 100%
rename from gui/resource/clic.wav
rename to GUI/src/resource/clic.wav
diff --git a/gui/resource/pingu_theme.wav b/GUI/src/resource/pingu_theme.wav
similarity index 100%
rename from gui/resource/pingu_theme.wav
rename to GUI/src/resource/pingu_theme.wav
diff --git a/gui/src/view/TileView.java b/GUI/src/view/TileView.java
similarity index 100%
rename from gui/src/view/TileView.java
rename to GUI/src/view/TileView.java
diff --git a/gui/src/view/view.fxml b/GUI/src/view/view.fxml
similarity index 100%
rename from gui/src/view/view.fxml
rename to GUI/src/view/view.fxml