diff --git a/overcooked_simulator/__main__.py b/overcooked_simulator/__main__.py
index 339b8234233e853292e1c90fd1952a632ec15e77..c5a6343fa1407beb5b17919f82dcccc1beaec564 100644
--- a/overcooked_simulator/__main__.py
+++ b/overcooked_simulator/__main__.py
@@ -88,16 +88,16 @@ def main(cli_args=None):
             print("Start PyGame GUI:")
             pygame_gui_2 = Process(target=start_pygame_gui, args=(cli_args,))
             pygame_gui_2.start()
-            #
-            # print("Start PyGame GUI:")
-            # pygame_gui_3 = Process(target=start_pygame_gui, args=(cli_args,))
-            # pygame_gui_3.start()
-            while (
-                pygame_gui.is_alive()
-                and pygame_gui_2.is_alive()
-                # and pygame_gui_3.is_alive()
-            ):
-                time.sleep(1)
+            # #
+            print("Start PyGame GUI:")
+            pygame_gui_3 = Process(target=start_pygame_gui, args=(cli_args,))
+            pygame_gui_3.start()
+            # while (
+            #     pygame_gui.is_alive()
+            #     and pygame_gui_2.is_alive()
+            #     # and pygame_gui_3.is_alive()
+            # ):
+            #     time.sleep(1)
 
         while pygame_gui.is_alive():
             time.sleep(1)
diff --git a/overcooked_simulator/example_study_server.py b/overcooked_simulator/example_study_server.py
index 5d24526dce99756a6e2ff84fe0a27f4bd4504669..4b7c82f45ed4a2885a59e52c66a5abfaf3151386 100644
--- a/overcooked_simulator/example_study_server.py
+++ b/overcooked_simulator/example_study_server.py
@@ -101,9 +101,11 @@ class StudyState:
             len(self.participant_id_to_player_info) == self.study_config["num_players"]
         )
 
-    def can_add_participant(self, participant_id: int) -> bool:
-        return len(self.participant_id_to_player_info) < self.study_config["num_players"]
-
+    def can_add_participant(self, num_participants: int) -> bool:
+        filled = self.num_connected_players + num_participants <= self.study_config["num_players"]
+        print(self.num_connected_players, num_participants, self.study_config["num_players"])
+        print("CAN ADD", self, filled)
+        return filled and not self.is_full
     def create_env(self, level):
         with open(ROOT_DIR / "game_content" / level["item_info_path"], "r") as file:
             item_info = file.read()
@@ -239,6 +241,9 @@ class StudyState:
         for websocket in self.websockets.values():
             websocket.close()
 
+    def __repr__(self):
+        return f"Study({self.current_running_env['env_id']})"
+
 
 class StudyManager:
     def __init__(self):
@@ -257,11 +262,14 @@ class StudyManager:
 
     def add_participant(self, participant_id: str, number_players: int):
         player_info = None
-        if all([s.is_full for s in self.running_studies]):
+        if not self.running_studies or all([not s.can_add_participant(number_players) for s in self.running_studies]):
             self.create_study()
 
+        print("all", self.running_studies)
+
         for study in self.running_studies:
-            if not study.is_full:
+            if study.can_add_participant(number_players):
+                print("connect", study)
                 player_info = study.add_participant(participant_id, number_players)
                 self.participant_id_to_study_map[participant_id] = study
         return player_info
@@ -271,6 +279,7 @@ class StudyManager:
         assigned_study.player_finished_level(participant_id)
 
     def get_participant_game_connection(self, participant_id: str):
+        print(self.participant_id_to_study_map)
         assigned_study = self.participant_id_to_study_map[participant_id]
         player_info, last_level = assigned_study.get_connection(participant_id)
         return player_info, last_level
diff --git a/overcooked_simulator/game_content/study/study_config.yaml b/overcooked_simulator/game_content/study/study_config.yaml
index 0f6b6e76cf1332c9788eb6b692dc6919ae0ef6f3..8fb376a19613166dcfed67aebbfab935c614c133 100644
--- a/overcooked_simulator/game_content/study/study_config.yaml
+++ b/overcooked_simulator/game_content/study/study_config.yaml
@@ -20,5 +20,5 @@ levels:
     name: "Level 4-2: Dark"
 
 
-num_players: 6
+num_players: 2
 num_bots: 2