diff --git a/src/game/penguin.hpp b/src/game/penguin.hpp
index 55cb68bb6df17c80ff1d9428786ff1fd68271cda..c97f01b0cc745e9f62367143c4ce7b012fe7c837 100644
--- a/src/game/penguin.hpp
+++ b/src/game/penguin.hpp
@@ -13,22 +13,22 @@ namespace game
 {
 	struct penguin_state
 	{
-		uint64_t one_fish = 0x7F59398348146BD; //Position of one-fish tiles (bitboard) 
-		uint64_t two_fish = 0x86C628366B102; //Position of two-fish tiles (bitboard)
-		uint64_t three_fish = 0x802000548180840; //Position of three-fish tiles (bitboard)
+		uint64_t one_fish = 638390472297737852; //Position of one-fish tiles (bitboard) 
+		uint64_t two_fish = 513912844679577984; //Position of two-fish tiles (bitboard)
+		uint64_t three_fish = 615868312588291; //Position of three-fish tiles (bitboard)
 		
 		//Penguins
-		uint32_t p1_red = 0;
-		uint32_t p2_red = 1;
-		uint32_t p3_red = 8;
-		uint32_t p4_red = 9;
-		uint32_t p1_blue = 51;
-		uint32_t p2_blue = 52;
-		uint32_t p3_blue = 58;
-		uint32_t p4_blue = 59;
+		uint32_t p1_red = 42;
+		uint32_t p2_red = 39;
+		uint32_t p3_red = 28;
+		uint32_t p4_red = 10;
+		uint32_t p1_blue = 19;
+		uint32_t p2_blue = 32;
+		uint32_t p3_blue = 43;
+		uint32_t p4_blue = 49;
 		
-		int score_red = 0;
-		int score_blue = 0;
+		int score_red = 6;
+		int score_blue = 3;
 		
 		bool current_player_red = false; //True if red must play now
 		
diff --git a/src/main/main.cpp b/src/main/main.cpp
index 19f8c24f80c35a64825fbf82557114628ad5b100..181e630022f1aff1effd9e8df4ad5c78175eccc4 100644
--- a/src/main/main.cpp
+++ b/src/main/main.cpp
@@ -27,8 +27,8 @@ int main(int argc, char *argv[])
 	//game::run_test_two_players_game(game::morpion());
 	//mcts::run_test_mcts_two_players(game::morpion());
 	
-	game::run_test_two_players_game(game::penguin());
-	//mcts::run_test_mcts_two_players(game::penguin());
+	//game::run_test_two_players_game(game::penguin());
+	mcts::run_test_mcts_two_players(game::penguin());
 
 
 	// minmax::test_minmax();
diff --git a/src/mcts/allocator.hpp b/src/mcts/allocator.hpp
index f765282cc07ed8953538eb53062ed1f68657692a..f887fdc79c0ac430980c76aee6ba995e94b13200 100644
--- a/src/mcts/allocator.hpp
+++ b/src/mcts/allocator.hpp
@@ -15,7 +15,7 @@ namespace mcts
     void copy(node* n1, node* n2, unsigned int prunning = 0);
 
   public:
-    allocator(unsigned int size = 10000000U);
+    allocator(unsigned int size = 100000000U);
     ~allocator();
     node* allocate(unsigned int size);
     void clear();
diff --git a/src/mcts/mcts_two_players.hpp b/src/mcts/mcts_two_players.hpp
index b640dc66e8939938e5cf3bafac89671d2c01ab5b..10555e0b570e68d2c42fe4100cd51a515c68e37b 100644
--- a/src/mcts/mcts_two_players.hpp
+++ b/src/mcts/mcts_two_players.hpp
@@ -265,7 +265,7 @@ namespace mcts
       }
     else
       {
-        this->root = alloc_.move(&this->root->get_children()[move]);
+        this->root = alloc_.move(&this->root->get_children()[move], 20);
       }
   }
 
diff --git a/src/mcts/test_mcts_two_players.hpp b/src/mcts/test_mcts_two_players.hpp
index e8c10331fc13e2409528acbebbcae0ff5c25c894..974a57ef4a4043d0299cfea1e34e9f093cbd7fc3 100644
--- a/src/mcts/test_mcts_two_players.hpp
+++ b/src/mcts/test_mcts_two_players.hpp
@@ -69,7 +69,7 @@ namespace mcts
   void test_mcts_two_players<Game>::play(Game g)
   {
     //    ProfilerStart("theturk.prof");
-    auto the_turk = make_mcts_two_players(g, 5000, 0.3, 4);
+    auto the_turk = make_mcts_two_players(g, 20000, 0.4, 8);
     std::cout << "play one game" << std::endl;
     std::cout << "who's first? (h)uman/(c)omputer ";
     std::string ans;
diff --git a/tools/gui.py b/tools/gui.py
index 7be949bcae18614eb4f823566da4c93edfc12b56..3842f44904173c642a2cf3e9dd4e00984e85851e 100755
--- a/tools/gui.py
+++ b/tools/gui.py
@@ -9,6 +9,7 @@ if __name__ == "__main__":
 	programname = os.path.join(os.path.dirname(__file__), "../bin/theturk")
 	program = subprocess.Popen(programname, stdin = subprocess.PIPE, stdout = subprocess.PIPE, universal_newlines = True, bufsize = 1)
 	try:
+		program.stdin.write("h\n")
 		while True:
 			#READ
 			readloop = True
@@ -17,7 +18,8 @@ if __name__ == "__main__":
 			brackets_count = 0
 			while readloop:
 				line = program.stdout.readline()
-				print(line)
+				#print(line)
+				line = line.replace("who's first? (h)uman/(c)omputer ", "")
 				line = line.replace("Red move: ", "")
 				line = line.replace("Blue move: ", "")
 				if line.startswith("{"): #Reading json