diff --git a/cooperative_cuisine/configs/environment_config.yaml b/cooperative_cuisine/configs/environment_config.yaml
index 5c7ef948f133bb17348e9ab32ed79d0c61d0cc3d..25514c3bd6627f35df634e5836e9e617abc47f34 100644
--- a/cooperative_cuisine/configs/environment_config.yaml
+++ b/cooperative_cuisine/configs/environment_config.yaml
@@ -13,6 +13,7 @@ game:
 layout_chars:
   _: Free
   hash: Counter  # #
+  equal: EdgeCounter  # =
   A: Agent
   pipe: Extinguisher
   P: PlateDispenser
@@ -187,6 +188,7 @@ hook_callbacks:
       - content_ready
       - dispenser_item_returned
       - additional_state_update
+      - game_ended_step
 
     callback_class: !!python/name:cooperative_cuisine.recording.FileRecorder ''
     callback_class_kwargs:
diff --git a/cooperative_cuisine/configs/layouts/overcooked-1/1-1-far-apart.layout b/cooperative_cuisine/configs/layouts/overcooked-1/1-1-far-apart.layout
index 1b0b160ca73b18a62526ab9d020b9a4394fd2c63..5cf16b3f7bfa3ca45e8afd87d3255a73d3e64da8 100644
--- a/cooperative_cuisine/configs/layouts/overcooked-1/1-1-far-apart.layout
+++ b/cooperative_cuisine/configs/layouts/overcooked-1/1-1-far-apart.layout
@@ -1,6 +1,6 @@
 ###N#T##U####
 #___________|
-L___A___A___#
+#___A___A___#
 #___________S
 ##########__+
 P___________#
diff --git a/cooperative_cuisine/configs/layouts/study_layouts/1-1-far-apart.layout b/cooperative_cuisine/configs/layouts/study_layouts/1-1-far-apart.layout
new file mode 100644
index 0000000000000000000000000000000000000000..651db57d04b706517e12ee8dbabd509fe9dbe480
--- /dev/null
+++ b/cooperative_cuisine/configs/layouts/study_layouts/1-1-far-apart.layout
@@ -0,0 +1,14 @@
+=#N#T###U###=
+#___________|
+#___A_______#
+#___________S
+=#########__+
+P___________#
+$_______A___#
+$___________X
+=##C#C###@@#=
+
+; seconds=150
+; plates={c:0, d:0}
+; dirty_plates=true
+; link: https://overcooked.fandom.com/wiki/1-1_(Overcooked!)
\ No newline at end of file
diff --git a/cooperative_cuisine/configs/layouts/study_layouts/1-4-bottleneck.layout b/cooperative_cuisine/configs/layouts/study_layouts/1-4-bottleneck.layout
new file mode 100644
index 0000000000000000000000000000000000000000..60eb7af88bc47cc657b5d23e51556cad9a204fc0
--- /dev/null
+++ b/cooperative_cuisine/configs/layouts/study_layouts/1-4-bottleneck.layout
@@ -0,0 +1,14 @@
+=#S+#====C#C#=
+T____#==#____|
+M_A__####__A_#
+B____________#
+L____####____$
+#____#==#____$
+#____#==#____P
+X____#==#____#
+=QQ#U====#@@@=
+
+; seconds=240
+; plates={c:0, d:0}
+; dirty_plates=true
+; link: https://overcooked.fandom.com/wiki/1-4_(Overcooked!)
\ No newline at end of file
diff --git a/cooperative_cuisine/configs/layouts/study_layouts/1-5-circle.layout b/cooperative_cuisine/configs/layouts/study_layouts/1-5-circle.layout
new file mode 100644
index 0000000000000000000000000000000000000000..995c7634b47696c65e5330cb94c9c7c326aa09c3
--- /dev/null
+++ b/cooperative_cuisine/configs/layouts/study_layouts/1-5-circle.layout
@@ -0,0 +1,14 @@
+====P$$#====
+=T#N____##|=
+#_A________X
+#_###S+###_#
+#_#======#_#
+#_#======#_#
+#_####@@##_#
+#________A_#
+=#C#C###U#U=
+
+; seconds=240
+; plates={c:0, d:0}
+; dirty_plates=true
+; link: https://overcooked.fandom.com/wiki/1-5_(Overcooked!)
\ No newline at end of file
diff --git a/cooperative_cuisine/configs/layouts/study_layouts/forced-cooperation.layout b/cooperative_cuisine/configs/layouts/study_layouts/forced-cooperation.layout
new file mode 100644
index 0000000000000000000000000000000000000000..39fdd1a4a754bd7bc7a076f438a4c2de9553145a
--- /dev/null
+++ b/cooperative_cuisine/configs/layouts/study_layouts/forced-cooperation.layout
@@ -0,0 +1,9 @@
+=#C#C#####$$=
+#___________#
+#_A_________P
+#_____##@#@#=
+X_____#_____X
+=###@##_____|
+F_________A_#
+Q___________K
+=#+S###LT#MB=
\ No newline at end of file
diff --git a/cooperative_cuisine/configs/study/study_config.yaml b/cooperative_cuisine/configs/study/study_config.yaml
index 366615b0ff03ef27506353190a43b7724a1c5c06..af7e1a24fdee1ad52b20a9e01cfe13bdda95f14f 100644
--- a/cooperative_cuisine/configs/study/study_config.yaml
+++ b/cooperative_cuisine/configs/study/study_config.yaml
@@ -1,58 +1,134 @@
 levels:
 
   - config_path: CONFIGS_DIR/environment_config.yaml
-    layout_path: LAYOUTS_DIR/overcooked-1/1-1-far-apart.layout
+    layout_path: LAYOUTS_DIR/study_layouts/1-1-far-apart.layout
     item_info_path: CONFIGS_DIR/item_info.yaml
     name: "Level 1"
     seed: 12345
     config_overwrite:
+      player_config:
+        speed_units_per_seconds: 5
       game:
-        time_limit_seconds: 300
+        time_limit_seconds: 10
+        validate_recipes: false
       plates:
         clean_plates: 0
         dirty_plates: 0
-    orders:
-      order_gen_kwargs:
-        order_duration_random_func:
-          kwargs:
-            a: 60
-            b: 70
+        return_dirty: true
+      orders:
+        meals:
+          all: false
+          list:
+            - TomatoSoup
+            - OnionSoup
+        order_gen_kwargs:
+          order_duration_random_func:
+            kwargs:
+              a: 60
+              b: 70
+          sample_on_dur_random_func:
+            func: uniform
+            kwargs:
+              a: 45
+              b: 35
 
   - config_path: CONFIGS_DIR/environment_config.yaml
-    layout_path: LAYOUTS_DIR/overcooked-1/1-4-bottleneck.layout
+    layout_path: LAYOUTS_DIR/study_layouts/1-4-bottleneck.layout
     item_info_path: CONFIGS_DIR/item_info.yaml
-    name: "Level 2"
+    name: "Level 3"
     seed: 12345
     config_overwrite:
+      player_config:
+        speed_units_per_seconds: 5
       game:
-        time_limit_seconds: 300
+        time_limit_seconds: 10
+      plates:
+        clean_plates: 1
+        dirty_plates: 0
+        return_dirty: true
+      orders:
+        meals:
+          all: false
+          list:
+            - Burger
+            - Salad
+            - TomatoSoup
+        order_gen_kwargs:
+          order_duration_random_func:
+            kwargs:
+              a: 60
+              b: 70
+          sample_on_dur_random_func:
+            func: uniform
+            kwargs:
+              a: 45
+              b: 35
 
   - config_path: CONFIGS_DIR/environment_config.yaml
-    layout_path: LAYOUTS_DIR/overcooked-1/1-5-circle.layout
+    layout_path: LAYOUTS_DIR/study_layouts/1-5-circle.layout
     item_info_path: CONFIGS_DIR/item_info.yaml
-    name: "Level 3"
+    name: "Level 2"
     seed: 12345
     config_overwrite:
+      player_config:
+        speed_units_per_seconds: 5
       game:
-        time_limit_seconds: 300
+        time_limit_seconds: 10
+        validate_recipes: true
       plates:
         clean_plates: 1
         dirty_plates: 0
-        return_dirty: false
+        return_dirty: true
+      orders:
+        meals:
+          all: false
+          list:
+            - TomatoSoup
+            - OnionSoup
+        order_gen_kwargs:
+          order_duration_random_func:
+            kwargs:
+              a: 60
+              b: 70
+          sample_on_dur_random_func:
+            func: uniform
+            kwargs:
+              a: 45
+              b: 35
+
 
   - config_path: CONFIGS_DIR/environment_config.yaml
-    layout_path: LAYOUTS_DIR/overcooked-1/4-1-moving-counters.layout
+    layout_path: LAYOUTS_DIR/study_layouts/forced-cooperation.layout
     item_info_path: CONFIGS_DIR/item_info.yaml
     name: "Level 4"
     seed: 12345
     config_overwrite:
+      player_config:
+        speed_units_per_seconds: 5
       game:
-        time_limit_seconds: 300
+        time_limit_seconds: 10
       plates:
         clean_plates: 0
         dirty_plates: 0
-
-
+        return_dirty: true
+      orders:
+        meals:
+          all: false
+          list:
+            - Burger
+            - Salad
+            - Chips
+            - BurgerWithChips
+        order_gen_kwargs:
+          order_duration_random_func:
+            kwargs:
+              a: 60
+              b: 70
+          sample_on_dur_random_func:
+            func: uniform
+            kwargs:
+              a: 40
+              b: 50
 
 num_players: 1
 num_bots: 0