diff --git a/assets/fonts/ice_pixel-7.ttf b/assets/fonts/ice_pixel-7.ttf
new file mode 100644
index 0000000..b447fca
Binary files /dev/null and b/assets/fonts/ice_pixel-7.ttf differ
diff --git a/assets/music_icon.xcf b/assets/music_icon.xcf
new file mode 100644
index 0000000..4869820
Binary files /dev/null and b/assets/music_icon.xcf differ
diff --git a/assets/play.xcf b/assets/play.xcf
new file mode 100644
index 0000000..1f15b13
Binary files /dev/null and b/assets/play.xcf differ
diff --git a/assets/pointer_indicator.xcf b/assets/pointer_indicator.xcf
new file mode 100644
index 0000000..ea866d7
Binary files /dev/null and b/assets/pointer_indicator.xcf differ
diff --git a/assets/shaders/Blinds.png b/assets/shaders/Blinds.png
new file mode 100644
index 0000000..9b13b43
Binary files /dev/null and b/assets/shaders/Blinds.png differ
diff --git a/assets/shaders/Blinds.png.import b/assets/shaders/Blinds.png.import
new file mode 100644
index 0000000..f5ca8da
--- /dev/null
+++ b/assets/shaders/Blinds.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/Blinds.png-2bd8a9f6eba63f8eb0695083fdf9397c.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/shaders/Blinds.png"
+dest_files=[ "res://.import/Blinds.png-2bd8a9f6eba63f8eb0695083fdf9397c.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/assets/ui/music-hover.png b/assets/ui/music-hover.png
new file mode 100644
index 0000000..22995c3
Binary files /dev/null and b/assets/ui/music-hover.png differ
diff --git a/assets/ui/music-hover.png.import b/assets/ui/music-hover.png.import
new file mode 100644
index 0000000..dd18f73
--- /dev/null
+++ b/assets/ui/music-hover.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/music-hover.png-41e3fb39d172b3252aeeef3a9bab17af.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/ui/music-hover.png"
+dest_files=[ "res://.import/music-hover.png-41e3fb39d172b3252aeeef3a9bab17af.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=false
+svg/scale=1.0
diff --git a/assets/ui/pause-hover.png b/assets/ui/pause-hover.png
new file mode 100644
index 0000000..7aeeea9
Binary files /dev/null and b/assets/ui/pause-hover.png differ
diff --git a/assets/ui/pause-hover.png.import b/assets/ui/pause-hover.png.import
new file mode 100644
index 0000000..357baae
--- /dev/null
+++ b/assets/ui/pause-hover.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/pause-hover.png-e4ea4eb67c068bc5d056965d6f087be0.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/ui/pause-hover.png"
+dest_files=[ "res://.import/pause-hover.png-e4ea4eb67c068bc5d056965d6f087be0.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=false
+svg/scale=1.0
diff --git a/assets/ui/pause.png b/assets/ui/pause.png
new file mode 100644
index 0000000..116d072
Binary files /dev/null and b/assets/ui/pause.png differ
diff --git a/assets/ui/pause.png.import b/assets/ui/pause.png.import
new file mode 100644
index 0000000..93e7398
--- /dev/null
+++ b/assets/ui/pause.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/pause.png-1ae561f3bc81500c9be2d9dbcefe44ff.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/ui/pause.png"
+dest_files=[ "res://.import/pause.png-1ae561f3bc81500c9be2d9dbcefe44ff.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=false
+svg/scale=1.0
diff --git a/assets/ui/play.png b/assets/ui/play.png
new file mode 100644
index 0000000..18b44e7
Binary files /dev/null and b/assets/ui/play.png differ
diff --git a/assets/ui/play.png.import b/assets/ui/play.png.import
new file mode 100644
index 0000000..284a702
--- /dev/null
+++ b/assets/ui/play.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/play.png-d5c85744be54e3dde1ca5bb32a24f02f.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/ui/play.png"
+dest_files=[ "res://.import/play.png-d5c85744be54e3dde1ca5bb32a24f02f.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=false
+svg/scale=1.0
diff --git a/assets/ui/pointer.png b/assets/ui/pointer.png
new file mode 100644
index 0000000..8496e0d
Binary files /dev/null and b/assets/ui/pointer.png differ
diff --git a/assets/ui/pointer.png.import b/assets/ui/pointer.png.import
new file mode 100644
index 0000000..ccb642f
--- /dev/null
+++ b/assets/ui/pointer.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/pointer.png-133392f260ecc87b51a28d66b4343076.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/ui/pointer.png"
+dest_files=[ "res://.import/pointer.png-133392f260ecc87b51a28d66b4343076.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=false
+svg/scale=1.0
diff --git a/assets/ui/pointer_hand.png b/assets/ui/pointer_hand.png
new file mode 100644
index 0000000..d18d4d5
Binary files /dev/null and b/assets/ui/pointer_hand.png differ
diff --git a/assets/ui/pointer_hand.png.import b/assets/ui/pointer_hand.png.import
new file mode 100644
index 0000000..96e912a
--- /dev/null
+++ b/assets/ui/pointer_hand.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/pointer_hand.png-1004d662901565d110a8c0d58ec1da71.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/ui/pointer_hand.png"
+dest_files=[ "res://.import/pointer_hand.png-1004d662901565d110a8c0d58ec1da71.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=false
+svg/scale=1.0
diff --git a/assets/ui_elements.xcf b/assets/ui_elements.xcf
new file mode 100644
index 0000000..06a6483
Binary files /dev/null and b/assets/ui_elements.xcf differ
diff --git a/project.godot b/project.godot
index 36504a0..3c697ef 100644
--- a/project.godot
+++ b/project.godot
@@ -9,6 +9,16 @@
 config_version=4
 
 _global_script_classes=[ {
+"base": "Node2D",
+"class": "BaseLevel",
+"language": "GDScript",
+"path": "res://scripts/base_level.gd"
+}, {
+"base": "Node2D",
+"class": "GUI",
+"language": "GDScript",
+"path": "res://scripts/UI.gd"
+}, {
 "base": "KinematicBody2D",
 "class": "Neighbor",
 "language": "GDScript",
@@ -25,6 +35,8 @@ _global_script_classes=[ {
 "path": "res://scripts/trolley.gd"
 } ]
 _global_script_class_icons={
+"BaseLevel": "",
+"GUI": "",
 "Neighbor": "",
 "Player": "",
 "Trolley": ""
@@ -33,7 +45,7 @@ _global_script_class_icons={
 [application]
 
 config/name="roger"
-run/main_scene="res://scenes/stage.tscn"
+run/main_scene="res://scenes/level_controller.tscn"
 
 [display]
 
diff --git a/scenes/TileMap.tscn b/scenes/TileMap.tscn
index ad9eee4..f48b3f6 100644
--- a/scenes/TileMap.tscn
+++ b/scenes/TileMap.tscn
@@ -243,4 +243,6 @@ scale = Vector2( 5, 5 )
 tile_set = SubResource( 2 )
 cell_size = Vector2( 16, 16 )
 show_collision = true
+collision_layer = 4
+collision_mask = 0
 format = 1
diff --git a/scenes/UI.tscn b/scenes/UI.tscn
deleted file mode 100644
index f4fb3e5..0000000
--- a/scenes/UI.tscn
+++ /dev/null
@@ -1,47 +0,0 @@
-[gd_scene load_steps=6 format=2]
-
-[ext_resource path="res://assets/fonts/8-BIT WONDER.TTF" type="DynamicFontData" id=1]
-[ext_resource path="res://scripts/UI.gd" type="Script" id=2]
-[ext_resource path="res://assets/ui/music-enabled.png" type="Texture" id=3]
-
-[sub_resource type="DynamicFont" id=1]
-font_data = ExtResource( 1 )
-
-[sub_resource type="Theme" id=2]
-default_font = SubResource( 1 )
-
-[node name="GUI" type="Node2D"]
-script = ExtResource( 2 )
-
-[node name="MarginContainer" type="MarginContainer" parent="."]
-margin_left = 20.0
-margin_top = 20.0
-margin_right = 1279.0
-margin_bottom = 257.0
-
-[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer"]
-margin_right = 1259.0
-margin_bottom = 237.0
-
-[node name="TimeLabel" type="RichTextLabel" parent="MarginContainer/HBoxContainer"]
-margin_right = 1227.0
-margin_bottom = 237.0
-size_flags_horizontal = 3
-size_flags_vertical = 3
-theme = SubResource( 2 )
-text = "Time fdsafdsafdsa"
-
-[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/HBoxContainer"]
-margin_left = 1231.0
-margin_right = 1259.0
-margin_bottom = 237.0
-
-[node name="ToolButton" type="ToolButton" parent="MarginContainer/HBoxContainer/VBoxContainer"]
-margin_right = 28.0
-margin_bottom = 24.0
-toggle_mode = true
-icon = ExtResource( 3 )
-
-[node name="GameTimer" type="Timer" parent="."]
-
-[connection signal="toggled" from="MarginContainer/HBoxContainer/VBoxContainer/ToolButton" to="." method="_on_ToolButton_toggled"]
diff --git a/scenes/base_level.tscn b/scenes/base_level.tscn
new file mode 100644
index 0000000..927cdfb
--- /dev/null
+++ b/scenes/base_level.tscn
@@ -0,0 +1,139 @@
+[gd_scene load_steps=13 format=2]
+
+[ext_resource path="res://Y2Mate.is - Won't You Be My Neighbor [8 Bit Tribute to Mr. Rogers] - 8 Bit Universe-8f3BEcQp1Q4-48k-1659646018463.mp3" type="AudioStream" id=1]
+[ext_resource path="res://scenes/clouds.tscn" type="PackedScene" id=2]
+[ext_resource path="res://scenes/TileMap.tscn" type="PackedScene" id=3]
+[ext_resource path="res://scripts/base_level.gd" type="Script" id=4]
+[ext_resource path="res://scenes/trolley.tscn" type="PackedScene" id=5]
+[ext_resource path="res://scenes/player.tscn" type="PackedScene" id=6]
+[ext_resource path="res://scenes/neighbor.tscn" type="PackedScene" id=7]
+[ext_resource path="res://scenes/house.tscn" type="PackedScene" id=8]
+[ext_resource path="res://assets/fonts/8-BIT WONDER.TTF" type="DynamicFontData" id=9]
+
+[sub_resource type="DynamicFont" id=1]
+size = 40
+font_data = ExtResource( 9 )
+
+[sub_resource type="DynamicFont" id=3]
+size = 40
+
+[sub_resource type="Theme" id=2]
+default_font = SubResource( 3 )
+RichTextLabel/fonts/normal_font = SubResource( 1 )
+
+[node name="BaseLevel" type="Node2D"]
+script = ExtResource( 4 )
+
+[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
+stream = ExtResource( 1 )
+pitch_scale = 0.75
+
+[node name="TileMap" parent="." instance=ExtResource( 3 )]
+collision_mask = 7
+
+[node name="YSort" type="YSort" parent="."]
+
+[node name="Player" parent="YSort" instance=ExtResource( 6 )]
+position = Vector2( 619.221, 307.07 )
+
+[node name="Trolley" parent="YSort" instance=ExtResource( 5 )]
+position = Vector2( 629.977, 650.649 )
+
+[node name="House1" parent="YSort" instance=ExtResource( 8 )]
+position = Vector2( 1066, 540 )
+
+[node name="Neighbor1" parent="YSort" instance=ExtResource( 7 )]
+position = Vector2( 131, 429 )
+
+[node name="Clouds" parent="." instance=ExtResource( 2 )]
+position = Vector2( -0.17392, 0.152588 )
+
+[node name="CameraBounds" type="Node2D" parent="."]
+
+[node name="Left" type="Node2D" parent="CameraBounds"]
+position = Vector2( -521, 432 )
+
+[node name="Top" type="Node2D" parent="CameraBounds"]
+position = Vector2( 594, -189 )
+
+[node name="Right" type="Node2D" parent="CameraBounds"]
+position = Vector2( 1757, 455 )
+
+[node name="Bottom" type="Node2D" parent="CameraBounds"]
+position = Vector2( 655, 1037 )
+
+[node name="TrolleyLocations" type="Node2D" parent="."]
+
+[node name="TrolleyStart" type="Node2D" parent="TrolleyLocations"]
+position = Vector2( 72, 91 )
+
+[node name="TrolleyEnd" type="Node2D" parent="TrolleyLocations"]
+position = Vector2( 1258, 154 )
+
+[node name="Panel" type="Panel" parent="."]
+visible = false
+margin_left = -2.0
+margin_top = -6.0
+margin_right = 1361.0
+margin_bottom = 1054.0
+
+[node name="VBoxContainer" type="VBoxContainer" parent="Panel"]
+anchor_right = 1.0
+anchor_bottom = 1.0
+size_flags_horizontal = 3
+size_flags_vertical = 3
+
+[node name="Control" type="Control" parent="Panel/VBoxContainer"]
+margin_right = 1363.0
+margin_bottom = 279.0
+size_flags_horizontal = 3
+size_flags_vertical = 3
+
+[node name="EndGameTitle" type="RichTextLabel" parent="Panel/VBoxContainer"]
+margin_left = 181.0
+margin_top = 283.0
+margin_right = 1181.0
+margin_bottom = 324.0
+rect_min_size = Vector2( 1000, 0 )
+size_flags_horizontal = 4
+size_flags_vertical = 4
+theme = SubResource( 2 )
+text = "This is the text"
+fit_content_height = true
+
+[node name="Control3" type="Control" parent="Panel/VBoxContainer"]
+margin_top = 328.0
+margin_right = 1363.0
+margin_bottom = 390.0
+size_flags_horizontal = 3
+size_flags_vertical = 3
+size_flags_stretch_ratio = 0.22
+
+[node name="EndGameBody" type="RichTextLabel" parent="Panel/VBoxContainer"]
+margin_left = 181.0
+margin_top = 394.0
+margin_right = 1181.0
+margin_bottom = 435.0
+rect_min_size = Vector2( 1000, 0 )
+size_flags_horizontal = 4
+size_flags_vertical = 4
+theme = SubResource( 2 )
+text = "This is the text"
+fit_content_height = true
+
+[node name="Control2" type="Control" parent="Panel/VBoxContainer"]
+margin_top = 439.0
+margin_right = 1363.0
+margin_bottom = 1060.0
+size_flags_horizontal = 3
+size_flags_vertical = 3
+size_flags_stretch_ratio = 2.22
+
+[node name="DisplayTimer" type="Timer" parent="."]
+one_shot = true
+autostart = true
+
+[connection signal="left_wih_rogers" from="YSort/Trolley" to="." method="_on_Trolley_left_wih_rogers"]
+[connection signal="rogers_entered_trolley" from="YSort/Trolley" to="." method="_on_Trolley_rogers_entered_trolley"]
+[connection signal="rogers_left_trolley" from="YSort/Trolley" to="." method="_on_Trolley_rogers_left_trolley"]
+[connection signal="timeout" from="DisplayTimer" to="." method="_on_DisplayTimer_timeout"]
diff --git a/scenes/clouds.tscn b/scenes/clouds.tscn
new file mode 100644
index 0000000..a611f1c
--- /dev/null
+++ b/scenes/clouds.tscn
@@ -0,0 +1,20 @@
+[gd_scene load_steps=2 format=2]
+
+[ext_resource path="res://scripts/Clouds.gd" type="Script" id=3]
+
+[node name="Clouds" type="Node2D"]
+position = Vector2( -2.43112, -0.845276 )
+scale = Vector2( 10, 10 )
+script = ExtResource( 3 )
+
+[node name="RightBorder" type="Node2D" parent="."]
+position = Vector2( 127.8, 47.0604 )
+
+[node name="LeftBorder" type="Node2D" parent="."]
+position = Vector2( 0.0503082, 46.0223 )
+
+[node name="TopBorder" type="Node2D" parent="."]
+position = Vector2( 62.236, 0.33577 )
+
+[node name="BottomBorder" type="Node2D" parent="."]
+position = Vector2( 61.0313, 94.858 )
diff --git a/scenes/game-screen.tscn b/scenes/game-screen.tscn
new file mode 100644
index 0000000..7e99230
--- /dev/null
+++ b/scenes/game-screen.tscn
@@ -0,0 +1,36 @@
+[gd_scene load_steps=4 format=2]
+
+[ext_resource path="res://assets/fonts/8-BIT WONDER.TTF" type="DynamicFontData" id=1]
+
+[sub_resource type="DynamicFont" id=1]
+size = 30
+font_data = ExtResource( 1 )
+
+[sub_resource type="Theme" id=2]
+RichTextLabel/fonts/normal_font = SubResource( 1 )
+
+[node name="Panel" type="Panel"]
+margin_left = -31.0
+margin_top = -245.0
+margin_right = 1332.0
+margin_bottom = 815.0
+
+[node name="VBoxContainer" type="VBoxContainer" parent="."]
+margin_right = 1299.0
+margin_bottom = 992.0
+size_flags_horizontal = 3
+size_flags_vertical = 3
+
+[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
+margin_right = 1299.0
+margin_bottom = 992.0
+size_flags_horizontal = 3
+size_flags_vertical = 3
+
+[node name="RichTextLabel" type="RichTextLabel" parent="VBoxContainer/HBoxContainer"]
+margin_right = 1299.0
+margin_bottom = 992.0
+size_flags_horizontal = 3
+size_flags_vertical = 3
+theme = SubResource( 2 )
+text = "This is the text"
diff --git a/scenes/gui.tscn b/scenes/gui.tscn
new file mode 100644
index 0000000..859648a
--- /dev/null
+++ b/scenes/gui.tscn
@@ -0,0 +1,99 @@
+[gd_scene load_steps=12 format=2]
+
+[ext_resource path="res://assets/ui/play.png" type="Texture" id=1]
+[ext_resource path="res://scripts/UI.gd" type="Script" id=2]
+[ext_resource path="res://assets/ui/music-enabled.png" type="Texture" id=3]
+[ext_resource path="res://assets/fonts/ice_pixel-7.ttf" type="DynamicFontData" id=4]
+[ext_resource path="res://assets/ui/pause.png" type="Texture" id=5]
+[ext_resource path="res://assets/ui/pause-hover.png" type="Texture" id=6]
+[ext_resource path="res://assets/ui/music-disabled.png" type="Texture" id=7]
+[ext_resource path="res://assets/ui/music-hover.png" type="Texture" id=8]
+
+[sub_resource type="DynamicFont" id=8]
+size = 60
+outline_size = 1
+outline_color = Color( 0.203125, 0.203125, 0.203125, 1 )
+use_mipmaps = true
+font_data = ExtResource( 4 )
+
+[sub_resource type="DynamicFont" id=1]
+size = 45
+font_data = ExtResource( 4 )
+
+[sub_resource type="Theme" id=2]
+default_font = SubResource( 1 )
+RichTextLabel/fonts/normal_font = SubResource( 8 )
+
+[node name="GUI" type="Node2D"]
+script = ExtResource( 2 )
+
+[node name="MarginContainer" type="MarginContainer" parent="."]
+margin_left = 25.0
+margin_top = 25.0
+margin_right = 1255.0
+margin_bottom = 100.0
+
+[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer"]
+margin_right = 1230.0
+margin_bottom = 75.0
+
+[node name="TimeLabel" type="RichTextLabel" parent="MarginContainer/HBoxContainer"]
+margin_right = 305.0
+margin_bottom = 75.0
+size_flags_horizontal = 3
+size_flags_vertical = 3
+theme = SubResource( 2 )
+text = "Time:"
+
+[node name="NeighborLabel" type="RichTextLabel" parent="MarginContainer/HBoxContainer"]
+margin_left = 309.0
+margin_right = 920.0
+margin_bottom = 75.0
+size_flags_horizontal = 3
+size_flags_vertical = 3
+size_flags_stretch_ratio = 2.0
+theme = SubResource( 2 )
+text = "Neighbors Left: 6"
+
+[node name="GridContainer" type="GridContainer" parent="MarginContainer/HBoxContainer"]
+margin_left = 924.0
+margin_right = 1230.0
+margin_bottom = 75.0
+size_flags_horizontal = 3
+columns = 3
+
+[node name="PauseButton" type="TextureButton" parent="MarginContainer/HBoxContainer/GridContainer"]
+margin_right = 100.0
+margin_bottom = 75.0
+focus_mode = 1
+size_flags_horizontal = 3
+size_flags_vertical = 3
+toggle_mode = true
+texture_normal = ExtResource( 5 )
+texture_pressed = ExtResource( 1 )
+texture_hover = ExtResource( 6 )
+expand = true
+stretch_mode = 4
+
+[node name="MusicButton" type="TextureButton" parent="MarginContainer/HBoxContainer/GridContainer"]
+margin_left = 104.0
+margin_right = 204.0
+margin_bottom = 75.0
+size_flags_horizontal = 3
+toggle_mode = true
+texture_normal = ExtResource( 3 )
+texture_pressed = ExtResource( 7 )
+texture_hover = ExtResource( 8 )
+expand = true
+stretch_mode = 4
+
+[node name="GameTimer" type="Timer" parent="."]
+one_shot = true
+
+[connection signal="mouse_entered" from="MarginContainer/HBoxContainer/GridContainer/PauseButton" to="." method="_on_mouse_entered"]
+[connection signal="mouse_exited" from="MarginContainer/HBoxContainer/GridContainer/PauseButton" to="." method="_on_mouse_exited"]
+[connection signal="toggled" from="MarginContainer/HBoxContainer/GridContainer/PauseButton" to="." method="_on_PauseButton_toggled"]
+[connection signal="mouse_entered" from="MarginContainer/HBoxContainer/GridContainer/MusicButton" to="." method="_on_mouse_entered"]
+[connection signal="mouse_exited" from="MarginContainer/HBoxContainer/GridContainer/MusicButton" to="." method="_on_mouse_exited"]
+[connection signal="toggled" from="MarginContainer/HBoxContainer/GridContainer/MusicButton" to="." method="_on_MusicButton_toggled"]
+[connection signal="timeout" from="GameTimer" to="." method="_on_GameTimer_timeout"]
diff --git a/scenes/level1.tscn b/scenes/level1.tscn
new file mode 100644
index 0000000..5df3569
--- /dev/null
+++ b/scenes/level1.tscn
@@ -0,0 +1,101 @@
+[gd_scene load_steps=5 format=2]
+
+[ext_resource path="res://scenes/base_level.tscn" type="PackedScene" id=1]
+[ext_resource path="res://scenes/house.tscn" type="PackedScene" id=2]
+[ext_resource path="res://scenes/neighbor.tscn" type="PackedScene" id=3]
+[ext_resource path="res://scenes/decor.tscn" type="PackedScene" id=4]
+
+[node name="Level1" type="Node2D"]
+
+[node name="BaseLevel" parent="." instance=ExtResource( 1 )]
+SECONDS_TO_COMPLETE = 45
+
+[node name="TileMap" parent="BaseLevel" index="1"]
+tile_data = PoolIntArray( -458757, 3, 0, -458756, 3, 0, -458755, 3, 0, -458754, 3, 0, -458753, 3, 0, -524288, 3, 0, -524287, 3, 0, -393221, 3, 0, -393220, 3, 0, -393219, 3, 0, -393218, 3, 0, -393217, 3, 0, -458752, 3, 0, -458751, 3, 0, -458750, 3, 0, -458749, 3, 0, -458748, 3, 0, -458747, 3, 0, -458746, 3, 0, -458745, 3, 0, -458744, 3, 0, -458743, 3, 0, -458742, 3, 0, -458741, 3, 0, -458740, 3, 0, -458739, 3, 0, -458738, 3, 0, -458737, 3, 0, -458736, 3, 0, -458735, 3, 0, -458734, 3, 0, -458733, 3, 0, -458732, 3, 0, -458731, 3, 0, -458730, 3, 0, -458729, 3, 0, -458728, 3, 0, -458727, 3, 0, -458726, 3, 0, -458725, 3, 0, -458724, 3, 0, -458723, 3, 0, -458722, 3, 0, -458721, 3, 0, -458720, 3, 0, -458719, 3, 0, -458718, 3, 0, -458717, 3, 0, -458716, 3, 0, -458715, 3, 0, -458714, 3, 0, -458713, 3, 0, -327685, 3, 0, -327684, 3, 0, -327683, 3, 0, -327682, 3, 0, -327681, 3, 0, -393216, 3, 0, -393215, 3, 0, -393214, 3, 0, -393213, 3, 0, -393212, 3, 0, -393211, 3, 0, -393210, 3, 0, -393209, 3, 0, -393208, 3, 0, -393207, 3, 0, -393206, 3, 0, -393205, 3, 0, -393204, 3, 0, -393203, 3, 0, -393202, 3, 0, -393201, 3, 0, -393200, 3, 0, -393199, 3, 0, -393198, 3, 0, -393197, 3, 0, -393196, 3, 0, -393195, 3, 0, -393194, 3, 0, -393193, 3, 0, -393192, 3, 0, -393191, 3, 0, -393190, 3, 0, -393189, 3, 0, -393188, 3, 0, -393187, 3, 0, -393186, 3, 0, -393185, 3, 0, -393184, 3, 0, -393183, 3, 0, -393182, 3, 0, -393181, 3, 0, -393180, 3, 0, -393179, 3, 0, -393178, 3, 0, -393177, 3, 0, -262149, 3, 0, -262148, 3, 0, -262147, 4, 0, -262146, 3, 0, -262145, 4, 0, -327680, 4, 0, -327679, 3, 0, -327678, 3, 0, -327677, 3, 0, -327676, 4, 0, -327675, 4, 0, -327674, 4, 0, -327673, 3, 0, -327672, 3, 0, -327671, 3, 0, -327670, 3, 0, -327669, 3, 0, -327668, 3, 0, -327667, 3, 0, -327666, 3, 0, -327665, 4, 0, -327664, 4, 0, -327663, 4, 0, -327662, 4, 0, -327661, 4, 0, -327660, 3, 0, -327659, 3, 0, -327658, 3, 0, -327657, 3, 0, -327656, 3, 0, -327655, 4, 0, -327654, 4, 0, -327653, 4, 0, -327652, 4, 0, -327651, 4, 0, -327650, 4, 0, -327649, 3, 0, -327648, 4, 0, -327647, 4, 0, -327646, 4, 0, -327645, 4, 0, -327644, 4, 0, -327643, 4, 0, -327642, 4, 0, -327641, 3, 0, -196613, 3, 0, -196612, 3, 0, -196611, 3, 0, -196610, 3, 0, -196609, 3, 0, -262144, 3, 0, -262143, 3, 0, -262142, 4, 0, -262141, 3, 0, -262140, 4, 0, -262139, 4, 0, -262138, 3, 0, -262137, 3, 0, -262136, 3, 0, -262135, 3, 0, -262134, 3, 0, -262133, 4, 0, -262132, 4, 0, -262131, 4, 0, -262130, 3, 0, -262129, 3, 0, -262128, 4, 0, -262127, 4, 0, -262126, 4, 0, -262125, 4, 0, -262124, 4, 0, -262123, 4, 0, -262122, 4, 0, -262121, 4, 0, -262120, 3, 0, -262119, 3, 0, -262118, 3, 0, -262117, 4, 0, -262116, 3, 0, -262115, 3, 0, -262114, 4, 0, -262113, 3, 0, -262112, 4, 0, -262111, 4, 0, -262110, 3, 0, -262109, 4, 0, -262108, 4, 0, -262107, 4, 0, -262106, 4, 0, -262105, 3, 0, -131077, 3, 0, -131076, 3, 0, -131075, 3, 0, -131074, 3, 0, -131073, 3, 0, -196608, 4, 0, -196607, 4, 0, -196606, 4, 0, -196605, 4, 0, -196604, 3, 0, -196603, 3, 0, -196602, 3, 0, -196601, 4, 0, -196600, 4, 0, -196599, 4, 0, -196598, 4, 0, -196597, 4, 0, -196596, 4, 0, -196595, 4, 0, -196594, 4, 0, -196593, 3, 0, -196592, 3, 0, -196591, 4, 0, -196590, 4, 0, -196589, 4, 0, -196588, 4, 0, -196587, 4, 0, -196586, 4, 0, -196585, 4, 0, -196584, 4, 0, -196583, 4, 0, -196582, 3, 0, -196581, 3, 0, -196580, 4, 0, -196579, 4, 0, -196578, 4, 0, -196577, 4, 0, -196576, 4, 0, -196575, 4, 0, -196574, 4, 0, -196573, 4, 0, -196572, 4, 0, -196571, 4, 0, -196570, 4, 0, -196569, 3, 0, -65541, 3, 0, -65540, 6, 0, -65539, 6, 0, -65538, 6, 0, -65537, 6, 0, -131072, 6, 0, -131071, 6, 0, -131070, 6, 0, -131069, 6, 0, -131068, 6, 0, -131067, 6, 0, -131066, 6, 0, -131065, 6, 0, -131064, 6, 0, -131063, 6, 0, -131062, 6, 0, -131061, 6, 0, -131060, 6, 0, -131059, 6, 0, -131058, 6, 0, -131057, 6, 0, -131056, 6, 0, -131055, 6, 0, -131054, 6, 0, -131053, 6, 0, -131052, 6, 0, -131051, 6, 0, -131050, 6, 0, -131049, 6, 0, -131048, 6, 0, -131047, 6, 0, -131046, 6, 0, -131045, 6, 0, -131044, 6, 0, -131043, 6, 0, -131042, 6, 0, -131041, 6, 0, -131040, 6, 0, -131039, 6, 0, -131038, 6, 0, -131037, 6, 0, -131036, 6, 0, -131035, 6, 0, -131034, 6, 0, -131033, 4, 0, -5, 3, 0, -4, 5, 0, -3, 5, 0, -2, 5, 0, -1, 5, 0, -65536, 5, 0, -65535, 5, 0, -65534, 5, 0, -65533, 5, 0, -65532, 5, 0, -65531, 5, 0, -65530, 5, 0, -65529, 5, 0, -65528, 5, 0, -65527, 5, 0, -65526, 5, 0, -65525, 5, 0, -65524, 5, 0, -65523, 5, 0, -65522, 5, 0, -65521, 5, 0, -65520, 5, 0, -65519, 5, 0, -65518, 5, 0, -65517, 5, 0, -65516, 5, 0, -65515, 5, 0, -65514, 5, 0, -65513, 5, 0, -65512, 5, 0, -65511, 5, 0, -65510, 5, 0, -65509, 5, 0, -65508, 5, 0, -65507, 5, 0, -65506, 5, 0, -65505, 5, 0, -65504, 5, 0, -65503, 5, 0, -65502, 5, 0, -65501, 5, 0, -65500, 5, 0, -65499, 5, 0, -65498, 5, 0, -65497, 4, 0, 65531, 3, 0, 65532, 1, 0, 65533, 1, 0, 65534, 1, 0, 65535, 1, 0, 0, 0, 0, 1, 0, 0, 2, 8, 0, 3, 8, 0, 4, 8, 0, 5, 8, 0, 6, 8, 0, 7, 8, 0, 8, 8, 0, 9, 8, 0, 10, 8, 0, 11, 8, 0, 12, 8, 0, 13, 8, 0, 14, 8, 0, 15, 8, 0, 16, 8, 0, 17, 8, 0, 18, 8, 0, 19, 8, 0, 20, 8, 0, 21, 8, 0, 22, 8, 0, 23, 8, 0, 24, 8, 0, 25, 8, 0, 26, 8, 0, 27, 8, 0, 28, 8, 0, 29, 8, 0, 30, 8, 0, 31, 8, 0, 32, 8, 0, 33, 8, 0, 34, 8, 0, 35, 8, 0, 36, 0, 0, 37, 3, 0, 38, 4, 0, 39, 4, 0, 131067, 1, 0, 131068, 1, 0, 131069, 1, 0, 131070, 1, 0, 131071, 1, 0, 65536, 1, 0, 65537, 0, 0, 65538, 1, 0, 65539, 8, 0, 65540, 8, 0, 65541, 0, 0, 65542, 1, 0, 65543, 1, 0, 65544, 1, 0, 65545, 0, 0, 65546, 0, 0, 65547, 1, 0, 65548, 1, 0, 65549, 1, 0, 65550, 1, 0, 65551, 1, 0, 65552, 1, 0, 65553, 0, 0, 65554, 0, 0, 65555, 0, 0, 65556, 0, 0, 65557, 0, 0, 65558, 0, 0, 65559, 0, 0, 65560, 0, 0, 65561, 0, 0, 65562, 0, 0, 65563, 0, 0, 65564, 0, 0, 65565, 8, 0, 65566, 8, 0, 65567, 1, 0, 65568, 1, 0, 65569, 1, 0, 65570, 1, 0, 65571, 0, 0, 65572, 0, 0, 65573, 4, 0, 65574, 4, 0, 196607, 0, 0, 131072, 0, 0, 131073, 0, 0, 131074, 0, 0, 131075, 8, 0, 131076, 8, 0, 131077, 0, 0, 131078, 1, 0, 131079, 0, 0, 131080, 0, 0, 131081, 1, 0, 131082, 1, 0, 131083, 0, 0, 131084, 0, 0, 131085, 0, 0, 131086, 0, 0, 131087, 0, 0, 131088, 0, 0, 131089, 0, 0, 131090, 0, 0, 131091, 0, 0, 131092, 0, 0, 131093, 0, 0, 131094, 0, 0, 131095, 0, 0, 131096, 0, 0, 131097, 0, 0, 131098, 0, 0, 131099, 0, 0, 131100, 0, 0, 131101, 8, 0, 131102, 8, 0, 131103, 1, 0, 131104, 1, 0, 131105, 1, 0, 131106, 0, 0, 131107, 0, 0, 131108, 0, 0, 131109, 4, 0, 131110, 4, 0, 262143, 1, 0, 196608, 0, 0, 196609, 1, 0, 196610, 1, 0, 196611, 8, 0, 196612, 8, 0, 196613, 0, 0, 196614, 0, 0, 196615, 1, 0, 196616, 0, 0, 196617, 0, 0, 196618, 0, 0, 196619, 0, 0, 196620, 0, 0, 196621, 1, 0, 196622, 1, 0, 196623, 1, 0, 196624, 0, 0, 196625, 0, 0, 196626, 0, 0, 196627, 0, 0, 196628, 1, 0, 196629, 1, 0, 196630, 1, 0, 196631, 1, 0, 196632, 0, 0, 196633, 0, 0, 196634, 1, 0, 196635, 1, 0, 196636, 1, 0, 196637, 8, 0, 196638, 8, 0, 196639, 0, 0, 196640, 0, 0, 196641, 0, 0, 196642, 1, 0, 196643, 1, 0, 196644, 0, 0, 327679, 1, 0, 262144, 0, 0, 262145, 1, 0, 262146, 1, 0, 262147, 8, 0, 262148, 8, 0, 262149, 1, 0, 262150, 1, 0, 262151, 0, 0, 262152, 0, 0, 262153, 1, 0, 262154, 0, 0, 262155, 1, 0, 262156, 1, 0, 262157, 1, 0, 262158, 1, 0, 262159, 0, 0, 262160, 1, 0, 262161, 1, 0, 262162, 1, 0, 262163, 0, 0, 262164, 0, 0, 262165, 0, 0, 262166, 0, 0, 262167, 0, 0, 262168, 0, 0, 262169, 1, 0, 262170, 1, 0, 262171, 1, 0, 262172, 0, 0, 262173, 8, 0, 262174, 8, 0, 262175, 0, 0, 262176, 1, 0, 262177, 1, 0, 262178, 1, 0, 262179, 1, 0, 262180, 0, 0, 393215, 1, 0, 327680, 1, 0, 327681, 1, 0, 327682, 1, 0, 327683, 8, 0, 327684, 8, 0, 327685, 8, 0, 327686, 8, 0, 327687, 8, 0, 327688, 8, 0, 327689, 8, 0, 327690, 8, 0, 327691, 8, 0, 327692, 8, 0, 327693, 8, 0, 327694, 8, 0, 327695, 8, 0, 327696, 8, 0, 327697, 8, 0, 327698, 8, 0, 327699, 8, 0, 327700, 8, 0, 327701, 8, 0, 327702, 8, 0, 327703, 8, 0, 327704, 8, 0, 327705, 8, 0, 327706, 8, 0, 327707, 8, 0, 327708, 8, 0, 327709, 8, 0, 327710, 8, 0, 327711, 1, 0, 327712, 1, 0, 327713, 1, 0, 327714, 1, 0, 327715, 1, 0, 327716, 0, 0, 458751, 1, 0, 393216, 1, 0, 393217, 1, 0, 393218, 8, 0, 393219, 8, 0, 393220, 8, 0, 393221, 8, 0, 393222, 8, 0, 393223, 8, 0, 393224, 8, 0, 393225, 8, 0, 393226, 8, 0, 393227, 8, 0, 393228, 8, 0, 393229, 8, 0, 393230, 8, 0, 393231, 8, 0, 393232, 8, 0, 393233, 8, 0, 393234, 8, 0, 393235, 8, 0, 393236, 8, 0, 393237, 8, 0, 393238, 8, 0, 393239, 8, 0, 393240, 8, 0, 393241, 8, 0, 393242, 8, 0, 393243, 8, 0, 393244, 8, 0, 393245, 8, 0, 393246, 8, 0, 393247, 1, 0, 393248, 1, 0, 393249, 1, 0, 393250, 1, 0, 393251, 1, 0, 393252, 0, 0, 524287, 1, 0, 458752, 1, 0, 458753, 1, 0, 458754, 8, 0, 458755, 2, 0, 458756, 2, 0, 458757, 8, 0, 458758, 0, 0, 458759, 0, 0, 458760, 0, 0, 458761, 0, 0, 458762, 0, 0, 458763, 0, 0, 458764, 0, 0, 458765, 0, 0, 458766, 0, 0, 458767, 1, 0, 458768, 1, 0, 458769, 0, 0, 458770, 0, 0, 458771, 0, 0, 458772, 0, 0, 458773, 0, 0, 458774, 0, 0, 458775, 0, 0, 458776, 0, 0, 458777, 0, 0, 458778, 0, 0, 458779, 0, 0, 458780, 0, 0, 458781, 8, 0, 458782, 8, 0, 458783, 0, 0, 458784, 0, 0, 458785, 0, 0, 458786, 0, 0, 458787, 0, 0, 458788, 0, 0, 589823, 1, 0, 524288, 0, 0, 524289, 1, 0, 524290, 8, 0, 524291, 11, 0, 524292, 12, 0, 524293, 8, 0, 524294, 0, 0, 524295, 0, 0, 524296, 0, 0, 524297, 0, 0, 524298, 1, 0, 524299, 0, 0, 524300, 0, 0, 524301, 0, 0, 524302, 1, 0, 524303, 1, 0, 524304, 0, 0, 524305, 0, 0, 524306, 0, 0, 524307, 0, 0, 524308, 0, 0, 524309, 0, 0, 524310, 0, 0, 524311, 0, 0, 524312, 0, 0, 524313, 0, 0, 524314, 0, 0, 524315, 0, 0, 524316, 0, 0, 524317, 8, 0, 524318, 8, 0, 524319, 0, 0, 524320, 1, 0, 524321, 1, 0, 524322, 1, 0, 524323, 0, 0, 524324, 0, 0, 655359, 1, 0, 589824, 0, 0, 589825, 1, 0, 589826, 8, 0, 589827, 11, 0, 589828, 12, 0, 589829, 8, 0, 589830, 0, 0, 589831, 1, 0, 589832, 0, 0, 589833, 0, 0, 589834, 0, 0, 589835, 1, 0, 589836, 0, 0, 589837, 0, 0, 589838, 0, 0, 589839, 0, 0, 589840, 0, 0, 589841, 0, 0, 589842, 0, 0, 589843, 0, 0, 589844, 0, 0, 589845, 0, 0, 589846, 0, 0, 589847, 0, 0, 589848, 0, 0, 589849, 0, 0, 589850, 0, 0, 589851, 0, 0, 589852, 0, 0, 589853, 8, 0, 589854, 8, 0, 589855, 1, 0, 589856, 0, 0, 589857, 1, 0, 589858, 1, 0, 589859, 1, 0, 589860, 0, 0, 720895, 1, 0, 655360, 0, 0, 655361, 1, 0, 655362, 8, 0, 655363, 11, 0, 655364, 12, 0, 655365, 8, 0, 655366, 0, 0, 655367, 0, 0, 655368, 0, 0, 655369, 0, 0, 655370, 1, 0, 655371, 0, 0, 655372, 1, 0, 655373, 0, 0, 655374, 0, 0, 655375, 0, 0, 655376, 0, 0, 655377, 0, 0, 655378, 0, 0, 655379, 1, 0, 655380, 0, 0, 655381, 0, 0, 655382, 0, 0, 655383, 0, 0, 655384, 0, 0, 655385, 0, 0, 655386, 1, 0, 655387, 1, 0, 655388, 1, 0, 655389, 8, 0, 655390, 8, 0, 655391, 1, 0, 655392, 0, 0, 655393, 1, 0, 655394, 1, 0, 655395, 1, 0, 655396, 1, 0, 786431, 1, 0, 720896, 1, 0, 720897, 0, 0, 720898, 8, 0, 720899, 11, 0, 720900, 12, 0, 720901, 8, 0, 720902, 0, 0, 720903, 0, 0, 720904, 0, 0, 720905, 1, 0, 720906, 0, 0, 720907, 1, 0, 720908, 0, 0, 720909, 0, 0, 720910, 0, 0, 720911, 0, 0, 720912, 0, 0, 720913, 0, 0, 720914, 1, 0, 720915, 0, 0, 720916, 0, 0, 720917, 0, 0, 720918, 0, 0, 720919, 0, 0, 720920, 0, 0, 720921, 0, 0, 720922, 0, 0, 720923, 0, 0, 720924, 8, 0, 720925, 8, 0, 720926, 8, 0, 720927, 8, 0, 720928, 0, 0, 720929, 1, 0, 720930, 1, 0, 720931, 1, 0, 720932, 1, 0, 851967, 1, 0, 786432, 0, 0, 786433, 0, 0, 786434, 8, 0, 786435, 11, 0, 786436, 12, 0, 786437, 8, 0, 786438, 0, 0, 786439, 0, 0, 786440, 1, 0, 786441, 0, 0, 786442, 0, 0, 786443, 0, 0, 786444, 0, 0, 786445, 1, 0, 786446, 1, 0, 786447, 0, 0, 786448, 1, 0, 786449, 1, 0, 786450, 0, 0, 786451, 0, 0, 786452, 0, 0, 786453, 0, 0, 786454, 0, 0, 786455, 1, 0, 786456, 1, 0, 786457, 0, 0, 786458, 0, 0, 786459, 1, 0, 786460, 8, 0, 786461, 2, 0, 786462, 2, 0, 786463, 8, 0, 786464, 0, 0, 786465, 1, 0, 786466, 1, 0, 786467, 1, 0, 786468, 1, 0, 917503, 1, 0, 851968, 0, 0, 851969, 0, 0, 851970, 8, 0, 851971, 11, 0, 851972, 12, 0, 851973, 8, 0, 851974, 0, 0, 851975, 0, 0, 851976, 0, 0, 851977, 0, 0, 851978, 0, 0, 851979, 1, 0, 851980, 1, 0, 851981, 1, 0, 851982, 0, 0, 851983, 1, 0, 851984, 1, 0, 851985, 0, 0, 851986, 1, 0, 851987, 1, 0, 851988, 1, 0, 851989, 0, 0, 851990, 1, 0, 851991, 0, 0, 851992, 0, 0, 851993, 0, 0, 851994, 0, 0, 851995, 1, 0, 851996, 8, 0, 851997, 11, 0, 851998, 12, 0, 851999, 8, 0, 852000, 1, 0, 852001, 1, 0, 852002, 1, 0, 852003, 1, 0, 852004, 1, 0, 983039, 0, 0, 917504, 0, 0, 917505, 1, 0, 917506, 8, 0, 917507, 11, 0, 917508, 12, 0, 917509, 8, 0, 917510, 0, 0, 917511, 0, 0, 917512, 1, 0, 917513, 0, 0, 917514, 1, 0, 917515, 8, 0, 917516, 8, 0, 917517, 0, 0, 917518, 1, 0, 917519, 1, 0, 917520, 0, 0, 917521, 1, 0, 917522, 1, 0, 917523, 1, 0, 917524, 1, 0, 917525, 0, 0, 917526, 0, 0, 917527, 0, 0, 917528, 1, 0, 917529, 1, 0, 917530, 1, 0, 917531, 0, 0, 917532, 8, 0, 917533, 11, 0, 917534, 12, 0, 917535, 8, 0, 917536, 1, 0, 917537, 1, 0, 917538, 1, 0, 917539, 1, 0, 917540, 1, 0, 1048575, 0, 0, 983040, 0, 0, 983041, 0, 0, 983042, 8, 0, 983043, 11, 0, 983044, 12, 0, 983045, 8, 0, 983046, 1, 0, 983047, 0, 0, 983048, 0, 0, 983049, 1, 0, 983050, 8, 0, 983051, 8, 0, 983052, 8, 0, 983053, 8, 0, 983054, 0, 0, 983055, 0, 0, 983056, 1, 0, 983057, 1, 0, 983058, 1, 0, 983059, 1, 0, 983060, 0, 0, 983061, 0, 0, 983062, 0, 0, 983063, 0, 0, 983064, 1, 0, 983065, 1, 0, 983066, 0, 0, 983067, 0, 0, 983068, 8, 0, 983069, 11, 0, 983070, 12, 0, 983071, 8, 0, 983072, 0, 0, 983073, 0, 0, 983074, 1, 0, 983075, 1, 0, 983076, 1, 0, 1114111, 1, 0, 1048576, 0, 0, 1048577, 1, 0, 1048578, 8, 0, 1048579, 11, 0, 1048580, 12, 0, 1048581, 8, 0, 1048582, 0, 0, 1048583, 0, 0, 1048584, 1, 0, 1048585, 1, 0, 1048586, 8, 0, 1048587, 8, 0, 1048588, 8, 0, 1048589, 8, 0, 1048590, 1, 0, 1048591, 1, 0, 1048592, 1, 0, 1048593, 1, 0, 1048594, 1, 0, 1048595, 0, 0, 1048596, 0, 0, 1048597, 1, 0, 1048598, 1, 0, 1048599, 0, 0, 1048600, 1, 0, 1048601, 0, 0, 1048602, 1, 0, 1048603, 1, 0, 1048604, 8, 0, 1048605, 11, 0, 1048606, 12, 0, 1048607, 8, 0, 1048608, 1, 0, 1048609, 0, 0, 1048610, 1, 0, 1048611, 1, 0, 1048612, 1, 0, 1179647, 0, 0, 1114112, 0, 0, 1114113, 1, 0, 1114114, 8, 0, 1114115, 11, 0, 1114116, 12, 0, 1114117, 8, 0, 1114118, 8, 0, 1114119, 8, 0, 1114120, 8, 0, 1114121, 8, 0, 1114122, 8, 0, 1114123, 8, 0, 1114124, 8, 0, 1114125, 8, 0, 1114126, 8, 0, 1114127, 8, 0, 1114128, 8, 0, 1114129, 8, 0, 1114130, 8, 0, 1114131, 8, 0, 1114132, 8, 0, 1114133, 8, 0, 1114134, 8, 0, 1114135, 8, 0, 1114136, 8, 0, 1114137, 8, 0, 1114138, 8, 0, 1114139, 8, 0, 1114140, 8, 0, 1114141, 11, 0, 1114142, 12, 0, 1114143, 8, 0, 1114144, 8, 0, 1114145, 8, 0, 1114146, 8, 0, 1114147, 8, 0, 1114148, 1, 0, 1245183, 0, 0, 1179648, 0, 0, 1179649, 1, 0, 1179650, 8, 0, 1179651, 2, 0, 1179652, 2, 0, 1179653, 10, 0, 1179654, 10, 0, 1179655, 10, 0, 1179656, 10, 0, 1179657, 10, 0, 1179658, 10, 0, 1179659, 10, 0, 1179660, 10, 0, 1179661, 10, 0, 1179662, 10, 0, 1179663, 10, 0, 1179664, 10, 0, 1179665, 10, 0, 1179666, 10, 0, 1179667, 10, 0, 1179668, 10, 0, 1179669, 10, 0, 1179670, 10, 0, 1179671, 10, 0, 1179672, 10, 0, 1179673, 10, 0, 1179674, 10, 0, 1179675, 10, 0, 1179676, 10, 0, 1179677, 2, 0, 1179678, 2, 0, 1179679, 2, 0, 1179680, 2, 0, 1179681, 8, 0, 1179682, 8, 0, 1179683, 8, 0, 1179684, 1, 0, 1310719, 0, 0, 1245184, 0, 0, 1245185, 1, 0, 1245186, 8, 0, 1245187, 2, 0, 1245188, 2, 0, 1245189, 9, 0, 1245190, 9, 0, 1245191, 9, 0, 1245192, 9, 0, 1245193, 9, 0, 1245194, 9, 0, 1245195, 9, 0, 1245196, 9, 0, 1245197, 9, 0, 1245198, 9, 0, 1245199, 9, 0, 1245200, 9, 0, 1245201, 9, 0, 1245202, 9, 0, 1245203, 9, 0, 1245204, 9, 0, 1245205, 9, 0, 1245206, 9, 0, 1245207, 9, 0, 1245208, 9, 0, 1245209, 9, 0, 1245210, 9, 0, 1245211, 9, 0, 1245212, 9, 0, 1245213, 2, 0, 1245214, 2, 0, 1245215, 2, 0, 1245216, 2, 0, 1245217, 8, 0, 1245218, 8, 0, 1245219, 8, 0, 1245220, 1, 0, 1376255, 0, 0, 1310720, 0, 0, 1310721, 1, 0, 1310722, 8, 0, 1310723, 8, 0, 1310724, 8, 0, 1310725, 8, 0, 1310726, 8, 0, 1310727, 8, 0, 1310728, 8, 0, 1310729, 8, 0, 1310730, 8, 0, 1310731, 8, 0, 1310732, 8, 0, 1310733, 8, 0, 1310734, 8, 0, 1310735, 8, 0, 1310736, 8, 0, 1310737, 8, 0, 1310738, 8, 0, 1310739, 8, 0, 1310740, 8, 0, 1310741, 8, 0, 1310742, 8, 0, 1310743, 8, 0, 1310744, 8, 0, 1310745, 8, 0, 1310746, 8, 0, 1310747, 8, 0, 1310748, 8, 0, 1310749, 8, 0, 1310750, 8, 0, 1310751, 8, 0, 1310752, 8, 0, 1310753, 8, 0, 1310754, 8, 0, 1310755, 8, 0, 1310756, 1, 0, 1441791, 0, 0, 1376256, 0, 0, 1376257, 0, 0, 1376258, 0, 0, 1376259, 0, 0, 1376260, 0, 0, 1376261, 0, 0, 1376262, 0, 0, 1376263, 0, 0, 1376264, 0, 0, 1376265, 0, 0, 1376266, 0, 0, 1376267, 1, 0, 1376268, 1, 0, 1376269, 1, 0, 1376270, 1, 0, 1376271, 1, 0, 1376272, 1, 0, 1376273, 1, 0, 1376274, 1, 0, 1376275, 0, 0, 1376276, 1, 0, 1376277, 1, 0, 1376278, 1, 0, 1376279, 1, 0, 1376280, 1, 0, 1376281, 0, 0, 1376282, 0, 0, 1376283, 0, 0, 1376284, 0, 0, 1376285, 0, 0, 1376286, 1, 0, 1376287, 1, 0, 1376288, 1, 0, 1376289, 1, 0, 1376290, 1, 0, 1376291, 1, 0, 1376292, 1, 0, 1507327, 1, 0, 1441792, 1, 0, 1441793, 1, 0, 1441794, 1, 0, 1441795, 1, 0, 1441796, 1, 0, 1441797, 1, 0, 1441798, 1, 0, 1441799, 1, 0, 1441800, 1, 0, 1441801, 1, 0, 1441802, 1, 0, 1441803, 1, 0, 1441804, 1, 0, 1441805, 1, 0, 1441806, 1, 0, 1441807, 1, 0, 1441808, 1, 0, 1441809, 1, 0, 1441810, 1, 0, 1441811, 1, 0, 1441812, 1, 0, 1441813, 1, 0, 1441814, 1, 0, 1441815, 1, 0, 1441816, 1, 0, 1441817, 1, 0, 1441818, 1, 0, 1441819, 1, 0, 1441820, 1, 0, 1441821, 1, 0, 1441822, 1, 0, 1441823, 1, 0, 1441824, 1, 0, 1441825, 1, 0, 1441826, 1, 0, 1441827, 1, 0, 1441828, 1, 0 )
+
+[node name="Player" parent="BaseLevel/YSort" index="0"]
+position = Vector2( 621.466, 304.825 )
+
+[node name="Trolley" parent="BaseLevel/YSort" index="1"]
+position = Vector2( 860.382, 753.238 )
+
+[node name="House1" parent="BaseLevel/YSort" index="2"]
+position = Vector2( 1055.91, 400.411 )
+
+[node name="Neighbor1" parent="BaseLevel/YSort" index="3"]
+position = Vector2( 321.043, 440.773 )
+
+[node name="House2" parent="BaseLevel/YSort" index="4" instance=ExtResource( 2 )]
+position = Vector2( 956.94, 1202.48 )
+
+[node name="House3" parent="BaseLevel/YSort" index="5" instance=ExtResource( 2 )]
+position = Vector2( 2732.91, 1404.3 )
+
+[node name="Neighbor2" parent="BaseLevel/YSort" index="6" instance=ExtResource( 3 )]
+position = Vector2( 203.497, 1518.66 )
+
+[node name="Neighbor3" parent="BaseLevel/YSort" index="7" instance=ExtResource( 3 )]
+position = Vector2( 2367.96, 475.947 )
+
+[node name="Decor" parent="BaseLevel/YSort" index="8" instance=ExtResource( 4 )]
+position = Vector2( 1550.61, 321.222 )
+SPRITE_ASSET = "tree"
+
+[node name="Decor2" parent="BaseLevel/YSort" index="9" instance=ExtResource( 4 )]
+position = Vector2( 529.765, 608.809 )
+SPRITE_ASSET = "lamppost"
+
+[node name="Decor3" parent="BaseLevel/YSort" index="10" instance=ExtResource( 4 )]
+position = Vector2( 2162.79, 1263.03 )
+SPRITE_ASSET = "lamppost"
+
+[node name="Decor4" parent="BaseLevel/YSort" index="11" instance=ExtResource( 4 )]
+position = Vector2( 751.761, 1301.71 )
+
+[node name="Decor5" parent="BaseLevel/YSort" index="12" instance=ExtResource( 4 )]
+position = Vector2( 664.308, 1300.03 )
+SPRITE_ASSET = "bush2"
+
+[node name="Decor6" parent="BaseLevel/YSort" index="13" instance=ExtResource( 4 )]
+position = Vector2( 554.992, 1301.71 )
+
+[node name="Decor7" parent="BaseLevel/YSort" index="14" instance=ExtResource( 4 )]
+position = Vector2( 2517.64, 753.443 )
+SPRITE_ASSET = "tree"
+
+[node name="Decor8" parent="BaseLevel/YSort" index="15" instance=ExtResource( 4 )]
+position = Vector2( 1173.89, 1219.3 )
+SPRITE_ASSET = "tree"
+
+[node name="RightBorder" parent="BaseLevel/Clouds" index="0"]
+position = Vector2( 335.68, 80.7343 )
+
+[node name="LeftBorder" parent="BaseLevel/Clouds" index="1"]
+position = Vector2( -26.2153, 79.2472 )
+
+[node name="TopBorder" parent="BaseLevel/Clouds" index="2"]
+position = Vector2( 155.625, -22.1135 )
+
+[node name="BottomBorder" parent="BaseLevel/Clouds" index="3"]
+position = Vector2( 148.134, 193.635 )
+
+[node name="Left" parent="BaseLevel/CameraBounds" index="0"]
+position = Vector2( -80.9948, 806.902 )
+
+[node name="Top" parent="BaseLevel/CameraBounds" index="1"]
+position = Vector2( 1460.54, -339.41 )
+
+[node name="Right" parent="BaseLevel/CameraBounds" index="2"]
+position = Vector2( 2949.06, 789.494 )
+
+[node name="Bottom" parent="BaseLevel/CameraBounds" index="3"]
+position = Vector2( 1458.68, 1836.19 )
+
+[node name="TrolleyStart" parent="BaseLevel/TrolleyLocations" index="0"]
+position = Vector2( 314.451, -34.7158 )
+
+[node name="TrolleyEnd" parent="BaseLevel/TrolleyLocations" index="1"]
+position = Vector2( 2407.4, -70.4924 )
+
+[editable path="BaseLevel"]
+[editable path="BaseLevel/Clouds"]
diff --git a/scenes/level2.tscn b/scenes/level2.tscn
index ca5852c..60a8753 100644
--- a/scenes/level2.tscn
+++ b/scenes/level2.tscn
@@ -1,333 +1,7 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=2 format=2]
 
-[ext_resource path="res://scenes/TileMap.tscn" type="PackedScene" id=1]
-[ext_resource path="res://scenes/tree.tscn" type="PackedScene" id=2]
-[ext_resource path="res://scenes/player.tscn" type="PackedScene" id=3]
-[ext_resource path="res://scenes/bushes.tscn" type="PackedScene" id=4]
-[ext_resource path="res://roger-roger/stopsign.png" type="Texture" id=5]
-[ext_resource path="res://scenes/house.tscn" type="PackedScene" id=6]
-[ext_resource path="res://Y2Mate.is - Won't You Be My Neighbor [8 Bit Tribute to Mr. Rogers] - 8 Bit Universe-8f3BEcQp1Q4-48k-1659646018463.mp3" type="AudioStream" id=7]
-[ext_resource path="res://roger-roger/cloud4.png" type="Texture" id=8]
-[ext_resource path="res://scenes/Clouds.gd" type="Script" id=9]
-[ext_resource path="res://roger-roger/cloud2.png" type="Texture" id=10]
-[ext_resource path="res://roger-roger/cloud1.png" type="Texture" id=11]
-[ext_resource path="res://roger-roger/cloud3.png" type="Texture" id=12]
+[ext_resource path="res://scenes/base_level.tscn" type="PackedScene" id=1]
 
-[node name="Node2D" type="Node2D"]
+[node name="Level1" type="Node2D"]
 
-[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
-stream = ExtResource( 7 )
-pitch_scale = 1.24
-autoplay = true
-
-[node name="TileMap" parent="." instance=ExtResource( 1 )]
-position = Vector2( 0, -2 )
-show_collision = false
-tile_data = PoolIntArray( -524301, 13, 0, -524300, 13, 0, -524299, 13, 0, -524298, 13, 0, -524297, 13, 0, -524296, 13, 0, -524295, 13, 0, -524294, 13, 0, -524293, 13, 0, -524292, 12, 0, -524291, 13, 0, -524290, 13, 0, -524289, 13, 0, -589824, 13, 0, -589823, 13, 0, -589822, 13, 0, -589821, 13, 0, -589820, 13, 0, -589819, 13, 0, -589818, 13, 0, -589817, 13, 0, -589816, 13, 0, -589815, 13, 0, -589814, 13, 0, -589813, 13, 0, -589812, 12, 0, -589811, 12, 0, -589810, 12, 0, -589809, 12, 0, -589808, 12, 0, -589807, 13, 0, -589806, 13, 0, -589805, 13, 0, -589804, 13, 0, -589803, 13, 0, -589802, 13, 0, -589801, 12, 0, -589800, 13, 0, -589799, 13, 0, -589798, 13, 0, -458765, 13, 0, -458764, 13, 0, -458763, 13, 0, -458762, 13, 0, -458761, 12, 0, -458760, 12, 0, -458759, 12, 0, -458758, 12, 0, -458757, 12, 0, -458756, 13, 0, -458755, 13, 0, -458754, 13, 0, -458753, 13, 0, -524288, 13, 0, -524287, 13, 0, -524286, 13, 0, -524285, 13, 0, -524284, 13, 0, -524283, 13, 0, -524282, 13, 0, -524281, 13, 0, -524280, 13, 0, -524279, 13, 0, -524278, 13, 0, -524277, 13, 0, -524276, 12, 0, -524275, 13, 0, -524274, 13, 0, -524273, 13, 0, -524272, 13, 0, -524271, 13, 0, -524270, 12, 0, -524269, 12, 0, -524268, 12, 0, -524267, 13, 0, -524266, 13, 0, -524265, 13, 0, -524264, 13, 0, -524263, 13, 0, -524262, 13, 0, -393229, 13, 0, -393228, 12, 0, -393227, 12, 0, -393226, 12, 0, -393225, 12, 0, -393224, 12, 0, -393223, 12, 0, -393222, 13, 0, -393221, 13, 0, -393220, 12, 0, -393219, 12, 0, -393218, 12, 0, -393217, 13, 0, -458752, 13, 0, -458751, 13, 0, -458750, 13, 0, -458749, 13, 0, -458748, 12, 0, -458747, 12, 0, -458746, 12, 0, -458745, 13, 0, -458744, 13, 0, -458743, 13, 0, -458742, 12, 0, -458741, 12, 0, -458740, 12, 0, -458739, 12, 0, -458738, 12, 0, -458737, 12, 0, -458736, 13, 0, -458735, 13, 0, -458734, 13, 0, -458733, 13, 0, -458732, 13, 0, -458731, 13, 0, -458730, 13, 0, -458729, 12, 0, -458728, 12, 0, -458727, 12, 0, -458726, 12, 0, -327693, 13, 0, -327692, 12, 0, -327691, 12, 0, -327690, 12, 0, -327689, 12, 0, -327688, 12, 0, -327687, 12, 0, -327686, 12, 0, -327685, 12, 0, -327684, 12, 0, -327683, 13, 0, -327682, 13, 0, -327681, 13, 0, -393216, 13, 0, -393215, 13, 0, -393214, 12, 0, -393213, 12, 0, -393212, 13, 0, -393211, 13, 0, -393210, 12, 0, -393209, 12, 0, -393208, 12, 0, -393207, 12, 0, -393206, 12, 0, -393205, 12, 0, -393204, 12, 0, -393203, 12, 0, -393202, 12, 0, -393201, 12, 0, -393200, 13, 0, -393199, 13, 0, -393198, 12, 0, -393197, 12, 0, -393196, 12, 0, -393195, 12, 0, -393194, 12, 0, -393193, 12, 0, -393192, 12, 0, -393191, 12, 0, -393190, 12, 0, -262157, 13, 0, -262156, 12, 0, -262155, 12, 0, -262154, 12, 0, -262153, 12, 0, -262152, 12, 0, -262151, 12, 0, -262150, 12, 0, -262149, 12, 0, -262148, 13, 0, -262147, 12, 0, -262146, 12, 0, -262145, 12, 0, -327680, 12, 0, -327679, 12, 0, -327678, 12, 0, -327677, 12, 0, -327676, 12, 0, -327675, 12, 0, -327674, 12, 0, -327673, 12, 0, -327672, 12, 0, -327671, 13, 0, -327670, 13, 0, -327669, 12, 0, -327668, 12, 0, -327667, 12, 0, -327666, 12, 0, -327665, 12, 0, -327664, 12, 0, -327663, 13, 0, -327662, 13, 0, -327661, 13, 0, -327660, 13, 0, -327659, 13, 0, -327658, 12, 0, -327657, 13, 0, -327656, 13, 0, -327655, 12, 0, -327654, 13, 0, -196621, 10, 0, -196620, 9, 0, -196619, 10, 0, -196618, 9, 0, -196617, 10, 0, -196616, 10, 0, -196615, 10, 0, -196614, 10, 0, -196613, 9, 0, -196612, 10, 0, -196611, 9, 0, -196610, 9, 0, -196609, 10, 0, -262144, 9, 0, -262143, 9, 0, -262142, 10, 0, -262141, 10, 0, -262140, 9, 0, -262139, 9, 0, -262138, 9, 0, -262137, 10, 0, -262136, 9, 0, -262135, 10, 0, -262134, 9, 0, -262133, 9, 0, -262132, 10, 0, -262131, 10, 0, -262130, 9, 0, -262129, 10, 0, -262128, 9, 0, -262127, 9, 0, -262126, 9, 0, -262125, 9, 0, -262124, 9, 0, -262123, 9, 0, -262122, 9, 0, -262121, 9, 0, -262120, 9, 0, -262119, 9, 0, -262118, 9, 0, -131085, 11, 0, -131084, 11, 0, -131083, 11, 0, -131082, 11, 0, -131081, 11, 0, -131080, 11, 0, -131079, 11, 0, -131078, 11, 0, -131077, 11, 0, -131076, 11, 0, -131075, 11, 0, -131074, 11, 0, -131073, 11, 0, -196608, 11, 0, -196607, 11, 0, -196606, 11, 0, -196605, 11, 0, -196604, 11, 0, -196603, 11, 0, -196602, 11, 0, -196601, 11, 0, -196600, 11, 0, -196599, 11, 0, -196598, 11, 0, -196597, 11, 0, -196596, 11, 0, -196595, 11, 0, -196594, 11, 0, -196593, 11, 0, -196592, 11, 0, -196591, 11, 0, -196590, 11, 0, -196589, 11, 0, -196588, 11, 0, -196587, 11, 0, -196586, 11, 0, -196585, 11, 0, -196584, 11, 0, -196583, 11, 0, -196582, 11, 0, -65549, 7, 0, -65548, 1610612739, 0, -65547, 1610612736, 0, -65546, 1610612737, 0, -65545, 1610612739, 0, -65544, 7, 0, -65543, 7, 0, -65542, 7, 0, -65541, 7, 0, -65540, 7, 0, -65539, 7, 0, -65538, 7, 0, -65537, 7, 0, -131072, 7, 0, -131071, 7, 0, -131070, 7, 0, -131069, 7, 0, -131068, 7, 0, -131067, 7, 0, -131066, 7, 0, -131065, 7, 0, -131064, 7, 0, -131063, 7, 0, -131062, 7, 0, -131061, 7, 0, -131060, 7, 0, -131059, 7, 0, -131058, 7, 0, -131057, 7, 0, -131056, 7, 0, -131055, 7, 0, -131054, 7, 0, -131053, 1610612739, 0, -131052, 1610612736, 0, -131051, 1610612737, 0, -131050, 1610612739, 0, -131049, 7, 0, -131048, 7, 0, -131047, 7, 0, -131046, 7, 0, -13, 7, 0, -12, 1610612739, 0, -11, 1610612736, 0, -10, 1610612737, 0, -9, 1610612739, 0, -8, 1610612743, 0, -7, 7, 0, -6, 7, 0, -5, 7, 0, -4, 7, 0, -3, 7, 0, -2, 7, 0, -1, 7, 0, -65536, 7, 0, -65535, 7, 0, -65534, 7, 0, -65533, 7, 0, -65532, 7, 0, -65531, 7, 0, -65530, 7, 0, -65529, 7, 0, -65528, 7, 0, -65527, 7, 0, -65526, 7, 0, -65525, 7, 0, -65524, 7, 0, -65523, 7, 0, -65522, 7, 0, -65521, 7, 0, -65520, 7, 0, -65519, 7, 0, -65518, 7, 0, -65517, 1610612739, 0, -65516, 1610612736, 0, -65515, 1610612737, 0, -65514, 1610612739, 0, -65513, 7, 0, -65512, 7, 0, -65511, 7, 0, -65510, 7, 0, 65523, 7, 0, 65524, 1610612739, 0, 65525, 1610612736, 0, 65526, 1610612737, 0, 65527, 1610612739, 0, 65528, 1610612743, 0, 65529, 7, 0, 65530, 7, 0, 65531, 7, 0, 65532, 7, 0, 65533, 7, 0, 65534, 7, 0, 65535, 7, 0, 0, 7, 0, 1, 7, 0, 2, 7, 0, 3, 7, 0, 4, 7, 0, 5, 1610612743, 0, 6, 1610612743, 0, 7, 1610612743, 0, 8, 1610612743, 0, 9, 1610612743, 0, 10, 1610612743, 0, 11, 1610612743, 0, 12, 1610612743, 0, 13, 1610612743, 0, 14, 1610612743, 0, 15, 7, 0, 16, 7, 0, 17, 7, 0, 18, 7, 0, 19, 1610612739, 0, 20, 1610612736, 0, 21, 1610612737, 0, 22, 1610612739, 0, 23, 1610612743, 0, 24, 7, 0, 25, 7, 0, 26, 7, 0, 131059, 1610612743, 0, 131060, 1610612739, 0, 131061, 1610612736, 0, 131062, 1610612737, 0, 131063, 1610612739, 0, 131064, 1610612743, 0, 131065, 7, 0, 131066, 7, 0, 131067, 7, 0, 131068, 7, 0, 131069, 7, 0, 131070, 7, 0, 131071, 7, 0, 65536, 7, 0, 65537, 7, 0, 65538, 7, 0, 65539, 7, 0, 65540, 7, 0, 65541, 7, 0, 65542, 1610612743, 0, 65543, 1610612743, 0, 65544, 1610612743, 0, 65545, 1610612743, 0, 65546, 1610612743, 0, 65547, 1610612743, 0, 65548, 1610612743, 0, 65549, 1610612743, 0, 65550, 1610612743, 0, 65551, 7, 0, 65552, 7, 0, 65553, 7, 0, 65554, 7, 0, 65555, 1610612739, 0, 65556, 1610612736, 0, 65557, 1610612737, 0, 65558, 1610612739, 0, 65559, 1610612743, 0, 65560, 7, 0, 65561, 7, 0, 65562, 7, 0, 196595, 1610612743, 0, 196596, 1610612739, 0, 196597, 1610612736, 0, 196598, 1610612737, 0, 196599, 1610612739, 0, 196600, 1610612743, 0, 196601, 7, 0, 196602, 7, 0, 196603, 7, 0, 196604, 7, 0, 196605, 7, 0, 196606, 7, 0, 196607, 7, 0, 131072, 7, 0, 131073, 7, 0, 131074, 7, 0, 131075, 7, 0, 131076, 7, 0, 131077, 7, 0, 131078, 1610612743, 0, 131079, 1610612743, 0, 131080, 1610612743, 0, 131081, 1610612743, 0, 131082, 1610612743, 0, 131083, 1610612743, 0, 131084, 7, 0, 131085, 1610612743, 0, 131086, 1610612743, 0, 131087, 7, 0, 131088, 1610612743, 0, 131089, 7, 0, 131090, 7, 0, 131091, 1610612739, 0, 131092, 1610612736, 0, 131093, 1610612737, 0, 131094, 1610612739, 0, 131095, 1610612743, 0, 131096, 7, 0, 131097, 7, 0, 131098, 7, 0, 262131, 1610612743, 0, 262132, 1610612739, 0, 262133, 1610612736, 0, 262134, 1610612737, 0, 262135, 1610612739, 0, 262136, 1610612743, 0, 262137, 7, 0, 262138, 7, 0, 262139, 7, 0, 262140, 7, 0, 262141, 7, 0, 262142, 7, 0, 262143, 7, 0, 196608, 7, 0, 196609, 7, 0, 196610, 7, 0, 196611, 7, 0, 196612, 7, 0, 196613, 1610612743, 0, 196614, 1610612743, 0, 196615, 1610612743, 0, 196616, 1610612743, 0, 196617, 1610612743, 0, 196618, 7, 0, 196619, 7, 0, 196620, 1610612743, 0, 196621, 1610612743, 0, 196622, 1610612743, 0, 196623, 1610612743, 0, 196624, 1610612743, 0, 196625, 1610612743, 0, 196626, 1610612743, 0, 196627, 1610612739, 0, 196628, 1610612736, 0, 196629, 1610612737, 0, 196630, 1610612739, 0, 196631, 1610612743, 0, 196632, 7, 0, 196633, 7, 0, 196634, 7, 0, 327667, 1610612743, 0, 327668, 1610612739, 0, 327669, 1610612736, 0, 327670, 1610612737, 0, 327671, 1610612739, 0, 327672, 1610612743, 0, 327673, 7, 0, 327674, 7, 0, 327675, 7, 0, 327676, 7, 0, 327677, 7, 0, 327678, 7, 0, 327679, 7, 0, 262144, 7, 0, 262145, 7, 0, 262146, 7, 0, 262147, 7, 0, 262148, 7, 0, 262149, 1610612743, 0, 262150, 1610612743, 0, 262151, 1610612743, 0, 262152, 1610612743, 0, 262153, 1610612743, 0, 262154, 7, 0, 262155, 7, 0, 262156, 7, 0, 262157, 7, 0, 262158, 1610612743, 0, 262159, 1610612743, 0, 262160, 1610612743, 0, 262161, 1610612743, 0, 262162, 1610612743, 0, 262163, 1610612739, 0, 262164, 1610612736, 0, 262165, 1610612737, 0, 262166, 1610612739, 0, 262167, 1610612743, 0, 262168, 7, 0, 262169, 7, 0, 262170, 7, 0, 393203, 1610612743, 0, 393204, 1610612739, 0, 393205, 1610612736, 0, 393206, 1610612737, 0, 393207, 1610612739, 0, 393208, 1610612743, 0, 393209, 7, 0, 393210, 7, 0, 393211, 7, 0, 393212, 7, 0, 393213, 7, 0, 393214, 7, 0, 393215, 7, 0, 327680, 7, 0, 327681, 7, 0, 327682, 7, 0, 327683, 7, 0, 327684, 7, 0, 327685, 7, 0, 327686, 1610612743, 0, 327687, 1610612743, 0, 327688, 1610612743, 0, 327689, 1610612743, 0, 327690, 7, 0, 327691, 7, 0, 327692, 7, 0, 327693, 7, 0, 327694, 1610612743, 0, 327695, 1610612743, 0, 327696, 7, 0, 327697, 7, 0, 327698, 7, 0, 327699, 1610612739, 0, 327700, 1610612736, 0, 327701, 1610612737, 0, 327702, 1610612739, 0, 327703, 1610612743, 0, 327704, 7, 0, 327705, 1610612743, 0, 327706, 1610612743, 0, 458739, 1610612743, 0, 458740, 1610612739, 0, 458741, 1610612736, 0, 458742, 1610612737, 0, 458743, 1610612739, 0, 458744, 1610612739, 0, 458745, 1610612739, 0, 458746, 1610612739, 0, 458747, 1610612739, 0, 458748, 1610612739, 0, 458749, 1610612739, 0, 458750, 1610612739, 0, 458751, 1610612739, 0, 393216, 1610612739, 0, 393217, 1610612739, 0, 393218, 1610612739, 0, 393219, 1610612739, 0, 393220, 1610612739, 0, 393221, 1610612739, 0, 393222, 1610612739, 0, 393223, 1610612739, 0, 393224, 1610612739, 0, 393225, 1610612739, 0, 393226, 1610612739, 0, 393227, 1610612739, 0, 393228, 1610612739, 0, 393229, 1610612739, 0, 393230, 1610612739, 0, 393231, 1610612739, 0, 393232, 1610612739, 0, 393233, 1610612739, 0, 393234, 1610612739, 0, 393235, 1610612739, 0, 393236, 1610612736, 0, 393237, 1610612737, 0, 393238, 1610612739, 0, 393239, 1610612743, 0, 393240, 1610612743, 0, 393241, 1610612743, 0, 393242, 1610612743, 0, 524275, 7, 0, 524276, 1610612739, 0, 524277, 1610612744, 0, 524278, 1610612744, 0, 524279, 1610612741, 0, 524280, 1610612741, 0, 524281, 1610612741, 0, 524282, 1610612741, 0, 524283, 1610612741, 0, 524284, 1610612741, 0, 524285, 1610612741, 0, 524286, 1610612741, 0, 524287, 1610612741, 0, 458752, 1610612741, 0, 458753, 1610612741, 0, 458754, 1610612741, 0, 458755, 1610612741, 0, 458756, 1610612741, 0, 458757, 1610612741, 0, 458758, 1610612741, 0, 458759, 1610612744, 0, 458760, 1610612744, 0, 458761, 1610612741, 0, 458762, 1610612741, 0, 458763, 1610612741, 0, 458764, 1610612741, 0, 458765, 1610612741, 0, 458766, 1610612741, 0, 458767, 1610612741, 0, 458768, 1610612741, 0, 458769, 1610612741, 0, 458770, 1610612741, 0, 458771, 1610612741, 0, 458772, 1610612744, 0, 458773, 1610612744, 0, 458774, 1610612739, 0, 458775, 1610612743, 0, 458776, 1610612743, 0, 458777, 1610612743, 0, 458778, 1610612743, 0, 589811, 7, 0, 589812, 1610612739, 0, 589813, 1610612744, 0, 589814, 1610612744, 0, 589815, 1610612742, 0, 589816, 1610612742, 0, 589817, 1610612742, 0, 589818, 1610612742, 0, 589819, 1610612742, 0, 589820, 1610612742, 0, 589821, 1610612742, 0, 589822, 1610612742, 0, 589823, 1610612742, 0, 524288, 1610612742, 0, 524289, 1610612742, 0, 524290, 1610612742, 0, 524291, 1610612742, 0, 524292, 1610612742, 0, 524293, 1610612742, 0, 524294, 1610612742, 0, 524295, 1610612744, 0, 524296, 1610612744, 0, 524297, 1610612742, 0, 524298, 1610612742, 0, 524299, 1610612742, 0, 524300, 1610612742, 0, 524301, 1610612742, 0, 524302, 1610612742, 0, 524303, 1610612742, 0, 524304, 1610612742, 0, 524305, 1610612742, 0, 524306, 1610612742, 0, 524307, 1610612742, 0, 524308, 1610612744, 0, 524309, 1610612744, 0, 524310, 1610612739, 0, 524311, 1610612743, 0, 524312, 1610612743, 0, 524313, 1610612743, 0, 524314, 1610612743, 0, 655347, 7, 0, 655348, 1610612739, 0, 655349, 1610612736, 0, 655350, 1610612737, 0, 655351, 1610612739, 0, 655352, 1610612739, 0, 655353, 1610612739, 0, 655354, 1610612739, 0, 655355, 1610612739, 0, 655356, 1610612739, 0, 655357, 1610612739, 0, 655358, 1610612739, 0, 655359, 1610612739, 0, 589824, 1610612739, 0, 589825, 1610612739, 0, 589826, 1610612739, 0, 589827, 1610612739, 0, 589828, 1610612739, 0, 589829, 1610612739, 0, 589830, 1610612739, 0, 589831, 1610612736, 0, 589832, 1610612737, 0, 589833, 1610612739, 0, 589834, 1610612739, 0, 589835, 1610612739, 0, 589836, 1610612739, 0, 589837, 1610612739, 0, 589838, 1610612739, 0, 589839, 1610612739, 0, 589840, 1610612739, 0, 589841, 1610612739, 0, 589842, 1610612739, 0, 589843, 1610612739, 0, 589844, 1610612739, 0, 589845, 1610612739, 0, 589846, 1610612739, 0, 589847, 1610612743, 0, 589848, 1610612743, 0, 589849, 1610612743, 0, 589850, 7, 0, 720883, 7, 0, 720884, 1610612739, 0, 720885, 1610612736, 0, 720886, 1610612737, 0, 720887, 1610612739, 0, 720888, 1610612743, 0, 720889, 7, 0, 720890, 7, 0, 720891, 1610612743, 0, 720892, 1610612743, 0, 720893, 1610612743, 0, 720894, 1610612743, 0, 720895, 1610612743, 0, 655360, 1610612743, 0, 655361, 1610612743, 0, 655362, 1610612743, 0, 655363, 1610612743, 0, 655364, 1610612743, 0, 655365, 1610612743, 0, 655366, 1610612739, 0, 655367, 1610612736, 0, 655368, 1610612737, 0, 655369, 1610612739, 0, 655370, 1610612743, 0, 655371, 1610612743, 0, 655372, 1610612743, 0, 655373, 1610612743, 0, 655374, 1610612743, 0, 655375, 1610612743, 0, 655376, 1610612743, 0, 655377, 1610612743, 0, 655378, 1610612743, 0, 655379, 1610612743, 0, 655380, 1610612743, 0, 655381, 1610612743, 0, 655382, 1610612743, 0, 655383, 1610612743, 0, 655384, 7, 0, 655385, 7, 0, 655386, 7, 0, 786419, 7, 0, 786420, 1610612739, 0, 786421, 1610612736, 0, 786422, 1610612737, 0, 786423, 1610612739, 0, 786424, 1610612743, 0, 786425, 7, 0, 786426, 1610612743, 0, 786427, 1610612743, 0, 786428, 1610612743, 0, 786429, 1610612743, 0, 786430, 1610612743, 0, 786431, 1610612743, 0, 720896, 1610612743, 0, 720897, 1610612743, 0, 720898, 1610612743, 0, 720899, 1610612743, 0, 720900, 1610612743, 0, 720901, 1610612743, 0, 720902, 1610612739, 0, 720903, 1610612736, 0, 720904, 1610612737, 0, 720905, 1610612739, 0, 720906, 1610612743, 0, 720907, 1610612743, 0, 720908, 1610612743, 0, 720909, 1610612743, 0, 720910, 1610612743, 0, 720911, 7, 0, 720912, 7, 0, 720913, 7, 0, 720914, 1610612743, 0, 720915, 1610612743, 0, 720916, 1610612743, 0, 720917, 1610612743, 0, 720918, 1610612743, 0, 720919, 1610612743, 0, 720920, 7, 0, 720921, 7, 0, 720922, 7, 0, 851955, 7, 0, 851956, 1610612739, 0, 851957, 1610612736, 0, 851958, 1610612737, 0, 851959, 1610612739, 0, 851960, 1610612743, 0, 851961, 7, 0, 851962, 1610612743, 0, 851963, 1610612743, 0, 851964, 7, 0, 851965, 1610612743, 0, 851966, 1610612743, 0, 851967, 1610612743, 0, 786432, 1610612743, 0, 786433, 1610612743, 0, 786434, 1610612743, 0, 786435, 1610612743, 0, 786436, 1610612743, 0, 786437, 1610612743, 0, 786438, 1610612739, 0, 786439, 1610612736, 0, 786440, 1610612737, 0, 786441, 1610612739, 0, 786442, 1610612743, 0, 786443, 1610612743, 0, 786444, 1610612743, 0, 786445, 1610612743, 0, 786446, 1610612743, 0, 786447, 7, 0, 786448, 7, 0, 786449, 7, 0, 786450, 7, 0, 786451, 1610612743, 0, 786452, 1610612743, 0, 786453, 1610612743, 0, 786454, 1610612743, 0, 786455, 1610612743, 0, 786456, 7, 0, 786457, 7, 0, 786458, 7, 0, 917491, 7, 0, 917492, 1610612739, 0, 917493, 1610612736, 0, 917494, 1610612737, 0, 917495, 1610612739, 0, 917496, 1610612743, 0, 917497, 7, 0, 917498, 1610612743, 0, 917499, 1610612743, 0, 917500, 1610612743, 0, 917501, 1610612743, 0, 917502, 1610612743, 0, 917503, 1610612743, 0, 851968, 1610612743, 0, 851969, 1610612743, 0, 851970, 1610612743, 0, 851971, 1610612743, 0, 851972, 1610612743, 0, 851973, 1610612743, 0, 851974, 1610612739, 0, 851975, 1610612736, 0, 851976, 1610612737, 0, 851977, 1610612739, 0, 851978, 1610612743, 0, 851979, 1610612743, 0, 851980, 1610612743, 0, 851981, 1610612743, 0, 851982, 1610612743, 0, 851983, 7, 0, 851984, 7, 0, 851985, 7, 0, 851986, 7, 0, 851987, 7, 0, 851988, 1610612743, 0, 851989, 1610612743, 0, 851990, 1610612743, 0, 851991, 1610612743, 0, 851992, 7, 0, 851993, 7, 0, 851994, 7, 0, 983027, 7, 0, 983028, 1610612739, 0, 983029, 1610612736, 0, 983030, 1610612737, 0, 983031, 1610612739, 0, 983032, 1610612743, 0, 983033, 7, 0, 983034, 1610612743, 0, 983035, 1610612743, 0, 983036, 1610612743, 0, 983037, 1610612743, 0, 983038, 1610612743, 0, 983039, 1610612743, 0, 917504, 1610612743, 0, 917505, 1610612743, 0, 917506, 1610612743, 0, 917507, 1610612743, 0, 917508, 1610612743, 0, 917509, 1610612743, 0, 917510, 1610612739, 0, 917511, 1610612736, 0, 917512, 1610612737, 0, 917513, 1610612739, 0, 917514, 1610612743, 0, 917515, 1610612743, 0, 917516, 1610612743, 0, 917517, 1610612743, 0, 917518, 1610612743, 0, 917519, 7, 0, 917520, 7, 0, 917521, 7, 0, 917522, 7, 0, 917523, 7, 0, 917524, 1610612743, 0, 917525, 1610612743, 0, 917526, 1610612743, 0, 917527, 1610612743, 0, 917528, 7, 0, 917529, 7, 0, 917530, 7, 0, 1048563, 7, 0, 1048564, 1610612739, 0, 1048565, 1610612736, 0, 1048566, 1610612737, 0, 1048567, 1610612739, 0, 1048568, 7, 0, 1048569, 7, 0, 1048570, 1610612743, 0, 1048571, 1610612743, 0, 1048572, 1610612743, 0, 1048573, 1610612743, 0, 1048574, 1610612743, 0, 1048575, 1610612743, 0, 983040, 1610612743, 0, 983041, 1610612743, 0, 983042, 1610612743, 0, 983043, 1610612743, 0, 983044, 1610612743, 0, 983045, 7, 0, 983046, 1610612739, 0, 983047, 1610612736, 0, 983048, 1610612737, 0, 983049, 1610612739, 0, 983050, 1610612743, 0, 983051, 1610612743, 0, 983052, 1610612743, 0, 983053, 1610612743, 0, 983054, 1610612743, 0, 983055, 1610612743, 0, 983056, 1610612743, 0, 983057, 7, 0, 983058, 7, 0, 983059, 1610612743, 0, 983060, 1610612743, 0, 983061, 1610612743, 0, 983062, 1610612743, 0, 983063, 1610612743, 0, 983064, 7, 0, 983065, 7, 0, 983066, 7, 0, 1114099, 7, 0, 1114100, 1610612739, 0, 1114101, 1610612744, 0, 1114102, 1610612744, 0, 1114103, 1610612739, 0, 1114104, 7, 0, 1114105, 7, 0, 1114106, 1610612743, 0, 1114107, 1610612743, 0, 1114108, 1610612743, 0, 1114109, 1610612743, 0, 1114110, 1610612743, 0, 1114111, 1610612743, 0, 1048576, 1610612743, 0, 1048577, 1610612743, 0, 1048578, 1610612743, 0, 1048579, 1610612743, 0, 1048580, 1610612743, 0, 1048581, 1610612743, 0, 1048582, 1610612739, 0, 1048583, 1610612744, 0, 1048584, 1610612744, 0, 1048585, 1610612739, 0, 1048586, 1610612739, 0, 1048587, 1610612739, 0, 1048588, 1610612739, 0, 1048589, 1610612739, 0, 1048590, 1610612739, 0, 1048591, 1610612739, 0, 1048592, 1610612739, 0, 1048593, 1610612743, 0, 1048594, 1610612743, 0, 1048595, 7, 0, 1048596, 1610612743, 0, 1048597, 1610612743, 0, 1048598, 1610612743, 0, 1048599, 1610612743, 0, 1048600, 7, 0, 1048601, 7, 0, 1048602, 7, 0, 1179635, 7, 0, 1179636, 1610612739, 0, 1179637, 1610612744, 0, 1179638, 1610612744, 0, 1179639, 1610612739, 0, 1179640, 7, 0, 1179641, 1610612743, 0, 1179642, 1610612743, 0, 1179643, 1610612743, 0, 1179644, 1610612743, 0, 1179645, 1610612743, 0, 1179646, 1610612743, 0, 1179647, 1610612743, 0, 1114112, 1610612743, 0, 1114113, 1610612743, 0, 1114114, 1610612743, 0, 1114115, 7, 0, 1114116, 1610612743, 0, 1114117, 1610612743, 0, 1114118, 1610612739, 0, 1114119, 1610612744, 0, 1114120, 1610612744, 0, 1114121, 1610612739, 0, 1114122, 1610612739, 0, 1114123, 1610612739, 0, 1114124, 1610612739, 0, 1114125, 1610612739, 0, 1114126, 1610612739, 0, 1114127, 1610612739, 0, 1114128, 1610612739, 0, 1114129, 1610612743, 0, 1114130, 1610612743, 0, 1114131, 1610612743, 0, 1114132, 1610612743, 0, 1114133, 1610612743, 0, 1114134, 1610612743, 0, 1114135, 1610612743, 0, 1114136, 7, 0, 1114137, 7, 0, 1114138, 7, 0, 1245171, 1610612743, 0, 1245172, 1610612739, 0, 1245173, 1610612739, 0, 1245174, 1610612739, 0, 1245175, 1610612739, 0, 1245176, 7, 0, 1245177, 1610612743, 0, 1245178, 1610612743, 0, 1245179, 1610612743, 0, 1245180, 1610612743, 0, 1245181, 1610612743, 0, 1245182, 1610612743, 0, 1245183, 7, 0, 1179648, 1610612743, 0, 1179649, 1610612743, 0, 1179650, 7, 0, 1179651, 1610612743, 0, 1179652, 1610612743, 0, 1179653, 1610612743, 0, 1179654, 1610612739, 0, 1179655, 1610612739, 0, 1179656, 1610612739, 0, 1179657, 1610612739, 0, 1179658, 1610612739, 0, 1179659, 1610612739, 0, 1179660, 1610612739, 0, 1179661, 1610612739, 0, 1179662, 1610612739, 0, 1179663, 1610612739, 0, 1179664, 1610612739, 0, 1179665, 1610612743, 0, 1179666, 1610612743, 0, 1179667, 1610612743, 0, 1179668, 1610612743, 0, 1179669, 1610612743, 0, 1179670, 1610612743, 0, 1179671, 1610612743, 0, 1179672, 7, 0, 1179673, 7, 0, 1179674, 7, 0, 1310707, 1610612743, 0, 1310708, 1610612743, 0, 1310709, 1610612743, 0, 1310710, 1610612743, 0, 1310711, 7, 0, 1310712, 7, 0, 1310713, 7, 0, 1310714, 1610612743, 0, 1310715, 1610612743, 0, 1310716, 1610612743, 0, 1310717, 1610612743, 0, 1310718, 1610612743, 0, 1310719, 1610612743, 0, 1245184, 1610612743, 0, 1245185, 1610612743, 0, 1245186, 1610612743, 0, 1245187, 1610612743, 0, 1245188, 1610612743, 0, 1245189, 1610612743, 0, 1245190, 1610612743, 0, 1245191, 1610612743, 0, 1245192, 1610612743, 0, 1245193, 1610612743, 0, 1245194, 1610612743, 0, 1245195, 1610612743, 0, 1245196, 1610612743, 0, 1245197, 1610612743, 0, 1245198, 1610612743, 0, 1245199, 1610612743, 0, 1245200, 1610612743, 0, 1245201, 1610612743, 0, 1245202, 1610612743, 0, 1245203, 1610612743, 0, 1245204, 1610612743, 0, 1245205, 1610612743, 0, 1245206, 1610612743, 0, 1245207, 1610612743, 0, 1245208, 7, 0, 1245209, 7, 0, 1245210, 7, 0, 1376243, 1610612743, 0, 1376244, 1610612743, 0, 1376245, 1610612743, 0, 1376246, 1610612743, 0, 1376247, 7, 0, 1376248, 7, 0, 1376249, 7, 0, 1376250, 1610612743, 0, 1376251, 1610612743, 0, 1376252, 1610612743, 0, 1376253, 1610612743, 0, 1376254, 1610612743, 0, 1376255, 1610612743, 0, 1310720, 1610612743, 0, 1310721, 1610612743, 0, 1310722, 1610612743, 0, 1310723, 1610612743, 0, 1310724, 1610612743, 0, 1310725, 1610612743, 0, 1310726, 1610612743, 0, 1310727, 1610612743, 0, 1310728, 1610612743, 0, 1310729, 1610612743, 0, 1310730, 1610612743, 0, 1310731, 1610612743, 0, 1310732, 1610612743, 0, 1310733, 1610612743, 0, 1310734, 1610612743, 0, 1310735, 1610612743, 0, 1310736, 1610612743, 0, 1310737, 1610612743, 0, 1310738, 1610612743, 0, 1310739, 1610612743, 0, 1310740, 1610612743, 0, 1310741, 1610612743, 0, 1310742, 1610612743, 0, 1310743, 1610612743, 0, 1310744, 7, 0, 1310745, 7, 0, 1310746, 7, 0, 1441779, 1610612743, 0, 1441780, 1610612743, 0, 1441781, 1610612743, 0, 1441782, 1610612743, 0, 1441783, 7, 0, 1441784, 7, 0, 1441785, 7, 0, 1441786, 1610612743, 0, 1441787, 1610612743, 0, 1441788, 1610612743, 0, 1441789, 1610612743, 0, 1441790, 1610612743, 0, 1441791, 1610612743, 0, 1376256, 1610612743, 0, 1376257, 1610612743, 0, 1376258, 1610612743, 0, 1376259, 1610612743, 0, 1376260, 1610612743, 0, 1376261, 1610612743, 0, 1376262, 1610612743, 0, 1376263, 1610612743, 0, 1376264, 1610612743, 0, 1376265, 1610612743, 0, 1376266, 1610612743, 0, 1376267, 1610612743, 0, 1376268, 1610612743, 0, 1376269, 1610612743, 0, 1376270, 1610612743, 0, 1376271, 1610612743, 0, 1376272, 1610612743, 0, 1376273, 1610612743, 0, 1376274, 1610612743, 0, 1376275, 1610612743, 0, 1376276, 1610612743, 0, 1376277, 1610612743, 0, 1376278, 1610612743, 0, 1376279, 1610612743, 0, 1376280, 1610612743, 0, 1376281, 7, 0, 1376282, 7, 0, 1507315, 1610612743, 0, 1507316, 1610612743, 0, 1507317, 1610612743, 0, 1507318, 1610612743, 0, 1507319, 7, 0, 1507320, 7, 0, 1507321, 7, 0, 1507322, 1610612743, 0, 1507323, 1610612743, 0, 1507324, 1610612743, 0, 1507325, 1610612743, 0, 1507326, 1610612743, 0, 1507327, 1610612743, 0, 1441792, 1610612743, 0, 1441793, 1610612743, 0, 1441794, 1610612743, 0, 1441795, 1610612743, 0, 1441796, 1610612743, 0, 1441797, 1610612743, 0, 1441798, 1610612743, 0, 1441799, 1610612743, 0, 1441800, 1610612743, 0, 1441801, 1610612743, 0, 1441802, 1610612743, 0, 1441803, 1610612743, 0, 1441804, 1610612743, 0, 1441805, 1610612743, 0, 1441806, 1610612743, 0, 1441807, 1610612743, 0, 1441808, 1610612743, 0, 1441809, 1610612743, 0, 1441810, 1610612743, 0, 1441811, 1610612743, 0, 1441812, 1610612743, 0, 1441813, 1610612743, 0, 1441814, 1610612743, 0, 1441815, 1610612743, 0, 1441816, 1610612743, 0, 1441817, 1610612743, 0, 1441818, 7, 0, 1572851, 1610612743, 0, 1572852, 1610612743, 0, 1572853, 1610612743, 0, 1572854, 1610612743, 0, 1572855, 1610612743, 0, 1572856, 1610612743, 0, 1572857, 1610612743, 0, 1572858, 1610612743, 0, 1572859, 1610612743, 0, 1572860, 1610612743, 0, 1572861, 1610612743, 0, 1572862, 1610612743, 0, 1572863, 1610612743, 0, 1507328, 1610612743, 0, 1507329, 1610612743, 0, 1507330, 1610612743, 0, 1507331, 1610612743, 0, 1507332, 7, 0, 1507333, 7, 0, 1507334, 1610612743, 0, 1507335, 1610612743, 0, 1507336, 1610612743, 0, 1507337, 1610612743, 0, 1507338, 1610612743, 0, 1507339, 1610612743, 0, 1507340, 1610612743, 0, 1507341, 7, 0, 1507342, 7, 0, 1507343, 7, 0, 1507344, 7, 0, 1507345, 7, 0, 1507346, 7, 0, 1507347, 7, 0, 1507348, 1610612743, 0, 1507349, 1610612743, 0, 1507350, 1610612743, 0, 1507351, 1610612743, 0, 1507352, 1610612743, 0, 1507353, 1610612743, 0, 1507354, 7, 0, 1638387, 7, 0, 1638388, 7, 0, 1638389, 1610612743, 0, 1638390, 1610612743, 0, 1638391, 1610612743, 0, 1638392, 1610612743, 0, 1638393, 1610612743, 0, 1638394, 1610612743, 0, 1638395, 1610612743, 0, 1638396, 1610612743, 0, 1638397, 1610612743, 0, 1638398, 1610612743, 0, 1638399, 1610612743, 0, 1572864, 1610612743, 0, 1572865, 1610612743, 0, 1572866, 1610612743, 0, 1572867, 1610612743, 0, 1572868, 1610612743, 0, 1572869, 7, 0, 1572870, 1610612743, 0, 1572871, 1610612743, 0, 1572872, 1610612743, 0, 1572873, 7, 0, 1572874, 7, 0, 1572875, 7, 0, 1572876, 7, 0, 1572877, 7, 0, 1572878, 7, 0, 1572879, 7, 0, 1572880, 7, 0, 1572881, 7, 0, 1572882, 7, 0, 1572883, 7, 0, 1572884, 1610612743, 0, 1572885, 1610612743, 0, 1572886, 1610612743, 0, 1572887, 1610612743, 0, 1572888, 1610612743, 0, 1572889, 1610612743, 0, 1572890, 1610612743, 0, 1703923, 7, 0, 1703924, 7, 0, 1703925, 7, 0, 1703926, 1610612743, 0, 1703927, 1610612743, 0, 1703928, 1610612743, 0, 1703929, 1610612743, 0, 1703930, 1610612743, 0, 1703931, 1610612743, 0, 1703932, 1610612743, 0, 1703933, 7, 0, 1703934, 1610612743, 0, 1703935, 1610612743, 0, 1638400, 1610612743, 0, 1638401, 1610612743, 0, 1638402, 1610612743, 0, 1638403, 7, 0, 1638404, 7, 0, 1638405, 7, 0, 1638406, 7, 0, 1638407, 7, 0, 1638408, 1610612743, 0, 1638409, 1610612743, 0, 1638410, 1610612743, 0, 1638411, 1610612743, 0, 1638412, 1610612743, 0, 1638413, 1610612743, 0, 1638414, 1610612743, 0, 1638415, 1610612743, 0, 1638416, 1610612743, 0, 1638417, 1610612743, 0, 1638418, 1610612743, 0, 1638419, 1610612743, 0, 1638420, 1610612743, 0, 1638421, 1610612743, 0, 1638422, 1610612743, 0, 1638423, 1610612743, 0, 1638424, 1610612743, 0, 1638425, 1610612743, 0, 1638426, 1610612743, 0, 1769459, 7, 0, 1769460, 7, 0, 1769461, 7, 0, 1769462, 1610612743, 0, 1769463, 1610612743, 0, 1769464, 1610612743, 0, 1769465, 7, 0, 1769466, 1610612743, 0, 1769467, 7, 0, 1769468, 7, 0, 1769469, 7, 0, 1769470, 7, 0, 1769471, 7, 0, 1703936, 7, 0, 1703937, 7, 0, 1703938, 1610612743, 0, 1703939, 1610612743, 0, 1703940, 1610612743, 0, 1703941, 1610612743, 0, 1703942, 1610612743, 0, 1703943, 1610612743, 0, 1703944, 1610612743, 0, 1703945, 7, 0, 1703946, 7, 0, 1703947, 7, 0, 1703948, 7, 0, 1703949, 7, 0, 1703950, 7, 0, 1703951, 7, 0, 1703952, 7, 0, 1703953, 7, 0, 1703954, 7, 0, 1703955, 7, 0, 1703956, 7, 0, 1703957, 1610612743, 0, 1703958, 7, 0, 1703959, 1610612743, 0, 1703960, 1610612743, 0, 1703961, 1610612743, 0, 1703962, 1610612743, 0, 1834995, 7, 0, 1834996, 1610612743, 0, 1834997, 1610612743, 0, 1834998, 1610612743, 0, 1834999, 1610612743, 0, 1835000, 1610612743, 0, 1835001, 1610612743, 0, 1835002, 1610612743, 0, 1835003, 1610612743, 0, 1835004, 7, 0, 1835005, 7, 0, 1835006, 7, 0, 1835007, 7, 0, 1769472, 7, 0, 1769473, 7, 0, 1769474, 7, 0, 1769475, 7, 0, 1769476, 7, 0, 1769477, 7, 0, 1769478, 7, 0, 1769479, 7, 0, 1769480, 7, 0, 1769481, 7, 0, 1769482, 7, 0, 1769483, 7, 0, 1769484, 7, 0, 1769485, 7, 0, 1769486, 7, 0, 1769487, 7, 0, 1769488, 7, 0, 1769489, 7, 0, 1769490, 7, 0, 1769491, 7, 0, 1769492, 7, 0, 1769493, 1610612743, 0, 1769494, 1610612743, 0, 1769495, 7, 0, 1769496, 7, 0, 1769497, 1610612743, 0, 1769498, 1610612743, 0, 1900531, 1610612743, 0, 1900532, 1610612743, 0, 1900533, 1610612743, 0, 1900534, 1610612743, 0, 1900535, 1610612743, 0, 1900536, 1610612743, 0, 1900537, 1610612743, 0, 1900538, 1610612743, 0, 1900539, 1610612743, 0, 1900540, 1610612743, 0, 1900541, 1610612743, 0, 1900542, 1610612743, 0, 1900543, 1610612743, 0, 1835008, 1610612743, 0, 1835009, 1610612743, 0, 1835010, 1610612743, 0, 1835011, 1610612743, 0, 1835012, 1610612743, 0, 1835013, 1610612743, 0, 1835014, 1610612743, 0, 1835015, 1610612743, 0, 1835016, 1610612743, 0, 1835017, 1610612743, 0, 1835018, 1610612743, 0, 1835019, 1610612743, 0, 1835020, 1610612743, 0, 1835021, 1610612743, 0, 1835022, 1610612743, 0, 1835023, 1610612743, 0, 1835024, 1610612743, 0, 1835025, 1610612743, 0, 1835026, 1610612743, 0, 1835027, 1610612743, 0, 1835028, 1610612743, 0, 1835029, 1610612743, 0, 1835030, 1610612743, 0, 1835031, 1610612743, 0, 1835032, 1610612743, 0, 1835033, 1610612743, 0, 1835034, 1610612743, 0 )
-
-[node name="YSort" type="YSort" parent="."]
-
-[node name="House" parent="YSort" instance=ExtResource( 6 )]
-position = Vector2( 1073, 1296 )
-
-[node name="Tree" parent="YSort" instance=ExtResource( 2 )]
-position = Vector2( 1316, 1253 )
-
-[node name="Tree2" parent="YSort" instance=ExtResource( 2 )]
-position = Vector2( -659, 1145 )
-
-[node name="Tree3" parent="YSort" instance=ExtResource( 2 )]
-position = Vector2( 816, 1255 )
-
-[node name="Tree4" parent="YSort" instance=ExtResource( 2 )]
-position = Vector2( -961, 1409 )
-
-[node name="Bushes5" parent="YSort" instance=ExtResource( 4 )]
-position = Vector2( -695, 1493 )
-
-[node name="Bush" type="Node2D" parent="YSort"]
-position = Vector2( -43, 3 )
-
-[node name="Bushes16" parent="YSort/Bush" instance=ExtResource( 4 )]
-position = Vector2( 416, 796 )
-rotation = 0.109956
-
-[node name="Bushes17" parent="YSort/Bush" instance=ExtResource( 4 )]
-position = Vector2( -383, 798 )
-
-[node name="Bushes18" parent="YSort/Bush" instance=ExtResource( 4 )]
-position = Vector2( -232, 801 )
-
-[node name="Bushes19" parent="YSort/Bush" instance=ExtResource( 4 )]
-position = Vector2( -532, 806 )
-
-[node name="Bushes20" parent="YSort/Bush" instance=ExtResource( 4 )]
-position = Vector2( 113, 792 )
-
-[node name="Bushes21" parent="YSort/Bush" instance=ExtResource( 4 )]
-position = Vector2( 264, 795 )
-
-[node name="Bushes22" parent="YSort/Bush" instance=ExtResource( 4 )]
-position = Vector2( -56, 800 )
-
-[node name="Bushes26" parent="YSort/Bush" instance=ExtResource( 4 )]
-position = Vector2( 417, 798 )
-rotation = 0.109956
-
-[node name="Bush2" type="Node2D" parent="YSort"]
-position = Vector2( -10, -12 )
-
-[node name="Bushes" parent="YSort/Bush2" instance=ExtResource( 4 )]
-position = Vector2( 410, 464 )
-rotation = 0.109956
-
-[node name="Bushes2" parent="YSort/Bush2" instance=ExtResource( 4 )]
-position = Vector2( -389, 466 )
-
-[node name="Bushes3" parent="YSort/Bush2" instance=ExtResource( 4 )]
-position = Vector2( -238, 469 )
-
-[node name="Bushes4" parent="YSort/Bush2" instance=ExtResource( 4 )]
-position = Vector2( -538, 474 )
-
-[node name="Bushes6" parent="YSort/Bush2" instance=ExtResource( 4 )]
-position = Vector2( 107, 460 )
-
-[node name="Bushes7" parent="YSort/Bush2" instance=ExtResource( 4 )]
-position = Vector2( 258, 463 )
-
-[node name="Bushes8" parent="YSort/Bush2" instance=ExtResource( 4 )]
-position = Vector2( -62, 468 )
-
-[node name="Bushes9" parent="YSort/Bush2" instance=ExtResource( 4 )]
-position = Vector2( 1402, 453 )
-rotation = 0.109956
-
-[node name="Bushes10" parent="YSort/Bush2" instance=ExtResource( 4 )]
-position = Vector2( 560, 458 )
-rotation = 0.109956
-
-[node name="Bushes11" parent="YSort/Bush2" instance=ExtResource( 4 )]
-position = Vector2( 711, 461 )
-rotation = 0.109956
-
-[node name="Bushes12" parent="YSort/Bush2" instance=ExtResource( 4 )]
-position = Vector2( 411, 466 )
-rotation = 0.109956
-
-[node name="Bushes13" parent="YSort/Bush2" instance=ExtResource( 4 )]
-position = Vector2( 1056, 452 )
-rotation = 0.109956
-
-[node name="Bushes14" parent="YSort/Bush2" instance=ExtResource( 4 )]
-position = Vector2( 1207, 455 )
-rotation = 0.109956
-
-[node name="Bushes15" parent="YSort/Bush2" instance=ExtResource( 4 )]
-position = Vector2( 887, 460 )
-rotation = 0.109956
-
-[node name="Bush3" type="Node2D" parent="YSort"]
-position = Vector2( 169, 10 )
-
-[node name="Bushes23" parent="YSort/Bush3" instance=ExtResource( 4 )]
-position = Vector2( 1408, 785 )
-rotation = 0.109956
-
-[node name="Bushes27" parent="YSort/Bush3" instance=ExtResource( 4 )]
-position = Vector2( 1062, 784 )
-rotation = 0.109956
-
-[node name="Bushes28" parent="YSort/Bush3" instance=ExtResource( 4 )]
-position = Vector2( 1213, 787 )
-rotation = -0.0541052
-scale = Vector2( 1.01, 1 )
-
-[node name="Bushes29" parent="YSort/Bush3" instance=ExtResource( 4 )]
-position = Vector2( 893, 792 )
-
-[node name="Stopsign" type="Sprite" parent="YSort"]
-position = Vector2( 540, 699 )
-scale = Vector2( 5, 5 )
-texture = ExtResource( 5 )
-offset = Vector2( -0.199997, -1 )
-
-[node name="Stopsign2" type="Sprite" parent="YSort"]
-position = Vector2( -704, 509 )
-scale = Vector2( 5, 5 )
-texture = ExtResource( 5 )
-offset = Vector2( -0.199997, -1 )
-
-[node name="Stopsign3" type="Sprite" parent="YSort"]
-position = Vector2( 1576, 505 )
-scale = Vector2( 5, 5 )
-texture = ExtResource( 5 )
-offset = Vector2( -0.199997, -1 )
-
-[node name="Player" parent="YSort" instance=ExtResource( 3 )]
-position = Vector2( -805, -79 )
-
-[node name="Clouds" type="Node2D" parent="."]
-position = Vector2( 501, 1021 )
-scale = Vector2( 10, 10 )
-script = ExtResource( 9 )
-
-[node name="Sprite" type="Sprite" parent="Clouds"]
-position = Vector2( 0.5, 1.29998 )
-texture = ExtResource( 11 )
-
-[node name="Sprite2" type="Sprite" parent="Clouds"]
-position = Vector2( -4.79999, 1.2 )
-texture = ExtResource( 10 )
-
-[node name="Sprite3" type="Sprite" parent="Clouds"]
-position = Vector2( 0.399994, 2 )
-texture = ExtResource( 12 )
-
-[node name="Sprite4" type="Sprite" parent="Clouds"]
-texture = ExtResource( 8 )
-
-[node name="RightBorder" type="Node2D" parent="Clouds"]
-position = Vector2( 216.5, 12 )
-
-[node name="LeftBorder" type="Node2D" parent="Clouds"]
-position = Vector2( -211, 9.39999 )
-
-[node name="TopBorder" type="Node2D" parent="Clouds"]
-position = Vector2( 5.6, -145 )
-
-[node name="BottomBorder" type="Node2D" parent="Clouds"]
-position = Vector2( 0.199993, 57.7 )
-scale = Vector2( 1, 1 )
-
-[node name="Clouds2" type="Node2D" parent="."]
-position = Vector2( 501, 1021 )
-scale = Vector2( 10, 10 )
-script = ExtResource( 9 )
-
-[node name="Sprite" type="Sprite" parent="Clouds2"]
-position = Vector2( 0.5, 1.29998 )
-texture = ExtResource( 11 )
-
-[node name="Sprite2" type="Sprite" parent="Clouds2"]
-position = Vector2( -4.79999, 1.2 )
-texture = ExtResource( 10 )
-
-[node name="Sprite3" type="Sprite" parent="Clouds2"]
-position = Vector2( 0.399994, 2 )
-texture = ExtResource( 12 )
-
-[node name="Sprite4" type="Sprite" parent="Clouds2"]
-texture = ExtResource( 8 )
-
-[node name="RightBorder" type="Node2D" parent="Clouds2"]
-position = Vector2( 216.5, 12 )
-
-[node name="LeftBorder" type="Node2D" parent="Clouds2"]
-position = Vector2( -211, 9.39999 )
-
-[node name="TopBorder" type="Node2D" parent="Clouds2"]
-position = Vector2( 5.6, -145 )
-
-[node name="BottomBorder" type="Node2D" parent="Clouds2"]
-position = Vector2( 0.199993, 57.7 )
-scale = Vector2( 1, 1 )
-
-[node name="Clouds3" type="Node2D" parent="."]
-position = Vector2( 501, 1021 )
-scale = Vector2( 10, 10 )
-script = ExtResource( 9 )
-
-[node name="Sprite" type="Sprite" parent="Clouds3"]
-position = Vector2( 0.5, 1.29998 )
-texture = ExtResource( 11 )
-
-[node name="Sprite2" type="Sprite" parent="Clouds3"]
-position = Vector2( -4.79999, 1.2 )
-texture = ExtResource( 10 )
-
-[node name="Sprite3" type="Sprite" parent="Clouds3"]
-position = Vector2( 0.399994, 2 )
-texture = ExtResource( 12 )
-
-[node name="Sprite4" type="Sprite" parent="Clouds3"]
-texture = ExtResource( 8 )
-
-[node name="RightBorder" type="Node2D" parent="Clouds3"]
-position = Vector2( 216.5, 12 )
-
-[node name="LeftBorder" type="Node2D" parent="Clouds3"]
-position = Vector2( -211, 9.39999 )
-
-[node name="TopBorder" type="Node2D" parent="Clouds3"]
-position = Vector2( 5.6, -145 )
-
-[node name="BottomBorder" type="Node2D" parent="Clouds3"]
-position = Vector2( 0.199993, 57.7 )
-scale = Vector2( 1, 1 )
-
-[node name="Clouds4" type="Node2D" parent="."]
-position = Vector2( 501, 1021 )
-scale = Vector2( 10, 10 )
-script = ExtResource( 9 )
-
-[node name="Sprite" type="Sprite" parent="Clouds4"]
-position = Vector2( 0.5, 1.29998 )
-texture = ExtResource( 11 )
-
-[node name="Sprite2" type="Sprite" parent="Clouds4"]
-position = Vector2( -4.79999, 1.2 )
-texture = ExtResource( 10 )
-
-[node name="Sprite3" type="Sprite" parent="Clouds4"]
-position = Vector2( 0.399994, 2 )
-texture = ExtResource( 12 )
-
-[node name="Sprite4" type="Sprite" parent="Clouds4"]
-texture = ExtResource( 8 )
-
-[node name="RightBorder" type="Node2D" parent="Clouds4"]
-position = Vector2( 216.5, 12 )
-
-[node name="LeftBorder" type="Node2D" parent="Clouds4"]
-position = Vector2( -211, 9.39999 )
-
-[node name="TopBorder" type="Node2D" parent="Clouds4"]
-position = Vector2( 5.6, -145 )
-
-[node name="BottomBorder" type="Node2D" parent="Clouds4"]
-position = Vector2( 0.199993, 57.7 )
-scale = Vector2( 1, 1 )
-
-[node name="Clouds5" type="Node2D" parent="."]
-position = Vector2( 501, 1021 )
-scale = Vector2( 10, 10 )
-script = ExtResource( 9 )
-
-[node name="Sprite" type="Sprite" parent="Clouds5"]
-position = Vector2( 0.5, 1.29998 )
-texture = ExtResource( 11 )
-
-[node name="Sprite2" type="Sprite" parent="Clouds5"]
-position = Vector2( -4.79999, 1.2 )
-texture = ExtResource( 10 )
-
-[node name="Sprite3" type="Sprite" parent="Clouds5"]
-position = Vector2( 0.399994, 2 )
-texture = ExtResource( 12 )
-
-[node name="Sprite4" type="Sprite" parent="Clouds5"]
-texture = ExtResource( 8 )
-
-[node name="RightBorder" type="Node2D" parent="Clouds5"]
-position = Vector2( 216.5, 12 )
-
-[node name="LeftBorder" type="Node2D" parent="Clouds5"]
-position = Vector2( -211, 9.39999 )
-
-[node name="TopBorder" type="Node2D" parent="Clouds5"]
-position = Vector2( 5.6, -145 )
-
-[node name="BottomBorder" type="Node2D" parent="Clouds5"]
-position = Vector2( 0.199993, 57.7 )
-scale = Vector2( 1, 1 )
+[node name="BaseLevel" parent="." instance=ExtResource( 1 )]
diff --git a/scenes/level3.tscn b/scenes/level3.tscn
new file mode 100644
index 0000000..60a8753
--- /dev/null
+++ b/scenes/level3.tscn
@@ -0,0 +1,7 @@
+[gd_scene load_steps=2 format=2]
+
+[ext_resource path="res://scenes/base_level.tscn" type="PackedScene" id=1]
+
+[node name="Level1" type="Node2D"]
+
+[node name="BaseLevel" parent="." instance=ExtResource( 1 )]
diff --git a/scenes/level_controller.tscn b/scenes/level_controller.tscn
new file mode 100644
index 0000000..32b2fe1
--- /dev/null
+++ b/scenes/level_controller.tscn
@@ -0,0 +1,11 @@
+[gd_scene load_steps=2 format=2]
+
+[ext_resource path="res://scripts/level_controller.gd" type="Script" id=1]
+
+[node name="Master" type="Node2D"]
+script = ExtResource( 1 )
+
+[node name="EndTimer" type="Timer" parent="."]
+one_shot = true
+
+[connection signal="timeout" from="EndTimer" to="." method="_on_EndTimer_timeout"]
diff --git a/scenes/player.tscn b/scenes/player.tscn
index a14e873..7f21122 100644
--- a/scenes/player.tscn
+++ b/scenes/player.tscn
@@ -11,11 +11,7 @@
 [ext_resource path="res://scripts/player.gd" type="Script" id=9]
 [ext_resource path="res://assets/mrRogers.png" type="Texture" id=10]
 [ext_resource path="res://assets/chevron_pointer.png" type="Texture" id=11]
-[ext_resource path="res://scenes/UI.tscn" type="PackedScene" id=12]
-
-[sub_resource type="CapsuleShape2D" id=2]
-radius = 13.0
-height = 10.0001
+[ext_resource path="res://scenes/gui.tscn" type="PackedScene" id=12]
 
 [sub_resource type="SpriteFrames" id=1]
 animations = [ {
@@ -30,17 +26,16 @@ animations = [ {
 "speed": 8.0
 } ]
 
+[sub_resource type="CapsuleShape2D" id=2]
+radius = 13.0
+height = 10.0001
+
 [node name="Player" type="KinematicBody2D"]
 collision_mask = 7
 script = ExtResource( 9 )
 ACCELERATION = 2000
 FRICTION = 2500
 
-[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
-position = Vector2( 0, 4 )
-rotation = 1.5708
-shape = SubResource( 2 )
-
 [node name="AnimatedSprite" type="AnimatedSprite" parent="."]
 position = Vector2( 2, -25 )
 scale = Vector2( 5, 5 )
@@ -48,6 +43,11 @@ frames = SubResource( 1 )
 animation = "idle"
 playing = true
 
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+position = Vector2( 0, 4 )
+rotation = 1.5708
+shape = SubResource( 2 )
+
 [node name="Camera2D" type="Camera2D" parent="."]
 current = true
 
diff --git a/scenes/stage.tscn b/scenes/stage.tscn
deleted file mode 100644
index 63ebac0..0000000
--- a/scenes/stage.tscn
+++ /dev/null
@@ -1,80 +0,0 @@
-[gd_scene load_steps=8 format=2]
-
-[ext_resource path="res://scenes/player.tscn" type="PackedScene" id=1]
-[ext_resource path="res://scripts/stage.gd" type="Script" id=2]
-[ext_resource path="res://scenes/house.tscn" type="PackedScene" id=3]
-[ext_resource path="res://scenes/trolley.tscn" type="PackedScene" id=4]
-[ext_resource path="res://scenes/neighbor.tscn" type="PackedScene" id=5]
-[ext_resource path="res://scenes/TileMap.tscn" type="PackedScene" id=6]
-[ext_resource path="res://scenes/decor.tscn" type="PackedScene" id=13]
-
-[node name="Stage" type="Node2D"]
-script = ExtResource( 2 )
-
-[node name="TileMap" parent="." instance=ExtResource( 6 )]
-position = Vector2( 1, -4 )
-collision_layer = 4
-collision_mask = 3
-tile_data = PoolIntArray( -393231, 3, 0, -393230, 3, 0, -393229, 3, 0, -393228, 3, 0, -393227, 3, 0, -393226, 3, 0, -393225, 3, 0, -393224, 3, 0, -393223, 3, 0, -393222, 3, 0, -393221, 3, 0, -393220, 3, 0, -393219, 3, 0, -393218, 3, 0, -393217, 3, 0, -458752, 3, 0, -458751, 3, 0, -458750, 3, 0, -458749, 3, 0, -458748, 3, 0, -458747, 3, 0, -458746, 3, 0, -458745, 3, 0, -458744, 3, 0, -458743, 3, 0, -458742, 3, 0, -458741, 3, 0, -458740, 3, 0, -458739, 3, 0, -458738, 3, 0, -458737, 3, 0, -458736, 3, 0, -458735, 3, 0, -458734, 3, 0, -458733, 3, 0, -458732, 3, 0, -458731, 3, 0, -458730, 3, 0, -458729, 3, 0, -458728, 3, 0, -458727, 3, 0, -458726, 3, 0, -458725, 3, 0, -458724, 3, 0, -458723, 3, 0, -458722, 3, 0, -458721, 3, 0, -327695, 3, 0, -327694, 3, 0, -327693, 3, 0, -327692, 3, 0, -327691, 3, 0, -327690, 3, 0, -327689, 3, 0, -327688, 3, 0, -327687, 3, 0, -327686, 3, 0, -327685, 3, 0, -327684, 3, 0, -327683, 3, 0, -327682, 3, 0, -327681, 3, 0, -393216, 3, 0, -393215, 3, 0, -393214, 3, 0, -393213, 3, 0, -393212, 3, 0, -393211, 3, 0, -393210, 3, 0, -393209, 3, 0, -393208, 3, 0, -393207, 3, 0, -393206, 3, 0, -393205, 3, 0, -393204, 3, 0, -393203, 3, 0, -393202, 3, 0, -393201, 3, 0, -393200, 3, 0, -393199, 3, 0, -393198, 3, 0, -393197, 3, 0, -393196, 3, 0, -393195, 3, 0, -393194, 3, 0, -393193, 3, 0, -393192, 3, 0, -393191, 3, 0, -393190, 3, 0, -393189, 3, 0, -393188, 3, 0, -393187, 3, 0, -393186, 3, 0, -393185, 3, 0, -262159, 3, 0, -262158, 3, 0, -262157, 3, 0, -262156, 3, 0, -262155, 3, 0, -262154, 3, 0, -262153, 3, 0, -262152, 3, 0, -262151, 3, 0, -262150, 3, 0, -262149, 3, 0, -262148, 3, 0, -262147, 3, 0, -262146, 3, 0, -262145, 3, 0, -327680, 3, 0, -327679, 3, 0, -327678, 3, 0, -327677, 3, 0, -327676, 3, 0, -327675, 3, 0, -327674, 3, 0, -327673, 3, 0, -327672, 3, 0, -327671, 3, 0, -327670, 3, 0, -327669, 3, 0, -327668, 3, 0, -327667, 3, 0, -327666, 3, 0, -327665, 3, 0, -327664, 3, 0, -327663, 3, 0, -327662, 3, 0, -327661, 3, 0, -327660, 3, 0, -327659, 3, 0, -327658, 3, 0, -327657, 3, 0, -327656, 3, 0, -327655, 3, 0, -327654, 3, 0, -327653, 3, 0, -327652, 3, 0, -327651, 3, 0, -327650, 3, 0, -327649, 3, 0, -196623, 3, 0, -196622, 3, 0, -196621, 3, 0, -196620, 3, 0, -196619, 3, 0, -196618, 3, 0, -196617, 3, 0, -196616, 3, 0, -196615, 3, 0, -196614, 3, 0, -196613, 3, 0, -196612, 3, 0, -196611, 3, 0, -196610, 3, 0, -196609, 3, 0, -262144, 3, 0, -262143, 3, 0, -262142, 3, 0, -262141, 3, 0, -262140, 3, 0, -262139, 3, 0, -262138, 3, 0, -262137, 3, 0, -262136, 3, 0, -262135, 3, 0, -262134, 3, 0, -262133, 3, 0, -262132, 3, 0, -262131, 3, 0, -262130, 3, 0, -262129, 3, 0, -262128, 3, 0, -262127, 3, 0, -262126, 3, 0, -262125, 3, 0, -262124, 3, 0, -262123, 3, 0, -262122, 3, 0, -262121, 3, 0, -262120, 3, 0, -262119, 3, 0, -262118, 3, 0, -262117, 3, 0, -262116, 3, 0, -262115, 3, 0, -262114, 3, 0, -262113, 3, 0, -131087, 3, 0, -131086, 3, 0, -131085, 3, 0, -131084, 3, 0, -131083, 3, 0, -131082, 3, 0, -131081, 3, 0, -131080, 3, 0, -131079, 3, 0, -131078, 3, 0, -131077, 3, 0, -131076, 3, 0, -131075, 3, 0, -131074, 3, 0, -131073, 3, 0, -196608, 3, 0, -196607, 3, 0, -196606, 3, 0, -196605, 3, 0, -196604, 3, 0, -196603, 3, 0, -196602, 3, 0, -196601, 3, 0, -196600, 3, 0, -196599, 3, 0, -196598, 3, 0, -196597, 3, 0, -196596, 3, 0, -196595, 3, 0, -196594, 3, 0, -196593, 3, 0, -196592, 3, 0, -196591, 3, 0, -196590, 3, 0, -196589, 3, 0, -196588, 3, 0, -196587, 3, 0, -196586, 3, 0, -196585, 3, 0, -196584, 3, 0, -196583, 3, 0, -196582, 3, 0, -196581, 3, 0, -196580, 3, 0, -196579, 3, 0, -196578, 3, 0, -196577, 3, 0, -65551, 6, 0, -65550, 6, 0, -65549, 6, 0, -65548, 7, 0, -65547, 6, 0, -65546, 6, 0, -65545, 6, 0, -65544, 7, 0, -65543, 7, 0, -65542, 6, 0, -65541, 7, 0, -65540, 6, 0, -65539, 7, 0, -65538, 6, 0, -65537, 6, 0, -131072, 6, 0, -131071, 7, 0, -131070, 6, 0, -131069, 6, 0, -131068, 6, 0, -131067, 7, 0, -131066, 7, 0, -131065, 7, 0, -131064, 7, 0, -131063, 6, 0, -131062, 7, 0, -131061, 7, 0, -131060, 6, 0, -131059, 6, 0, -131058, 6, 0, -131057, 7, 0, -131056, 7, 0, -131055, 7, 0, -131054, 7, 0, -131053, 7, 0, -131052, 7, 0, -131051, 6, 0, -131050, 6, 0, -131049, 6, 0, -131048, 6, 0, -131047, 7, 0, -131046, 7, 0, -131045, 7, 0, -131044, 7, 0, -131043, 6, 0, -131042, 6, 0, -131041, 6, 0, -11, 5, 0, -10, 5, 0, -9, 5, 0, -8, 5, 0, -7, 5, 0, -6, 5, 0, -5, 5, 0, -4, 5, 0, -3, 5, 0, -2, 5, 0, -1, 5, 0, -65536, 5, 0, -65535, 5, 0, -65534, 5, 0, -65533, 5, 0, -65532, 5, 0, -65531, 5, 0, -65530, 5, 0, -65529, 5, 0, -65528, 5, 0, -65527, 5, 0, -65526, 5, 0, -65525, 5, 0, -65524, 5, 0, -65523, 5, 0, -65522, 5, 0, -65521, 5, 0, -65520, 5, 0, -65519, 5, 0, -65518, 5, 0, -65517, 5, 0, -65516, 5, 0, -65515, 5, 0, -65514, 5, 0, -65513, 5, 0, -65512, 5, 0, -65511, 5, 0, -65510, 5, 0, -65509, 5, 0, 65525, 1, 0, 65526, 1, 0, 65527, 1, 0, 65528, 1, 0, 65529, 1, 0, 65530, 8, 0, 65531, 11, 0, 65532, 12, 0, 65533, 8, 0, 65534, 1, 0, 65535, 1, 0, 0, 1, 0, 1, 1, 0, 2, 1, 0, 3, 1, 0, 4, 1, 0, 5, 1, 0, 6, 1, 0, 7, 1, 0, 8, 1, 0, 9, 1, 0, 10, 1, 0, 11, 1, 0, 12, 1, 0, 13, 1, 0, 14, 1, 0, 15, 1, 0, 16, 1, 0, 17, 1, 0, 18, 1, 0, 19, 1, 0, 20, 1, 0, 21, 1, 0, 22, 1, 0, 23, 1, 0, 24, 8, 0, 25, 8, 0, 26, 1, 0, 27, 1, 0, 131061, 1, 0, 131062, 1, 0, 131063, 1, 0, 131064, 1, 0, 131065, 1, 0, 131066, 8, 0, 131067, 11, 0, 131068, 12, 0, 131069, 8, 0, 131070, 1, 0, 131071, 1, 0, 65536, 1, 0, 65537, 1, 0, 65538, 1, 0, 65539, 1, 0, 65540, 1, 0, 65541, 1, 0, 65542, 1, 0, 65543, 1, 0, 65544, 1, 0, 65545, 1, 0, 65546, 1, 0, 65547, 1, 0, 65548, 1, 0, 65549, 1, 0, 65550, 1, 0, 65551, 1, 0, 65552, 1, 0, 65553, 1, 0, 65554, 1, 0, 65555, 1, 0, 65556, 1, 0, 65557, 1, 0, 65558, 1, 0, 65559, 1, 0, 65560, 8, 0, 65561, 8, 0, 65562, 1, 0, 65563, 1, 0, 196597, 1, 0, 196598, 1, 0, 196599, 1, 0, 196600, 1, 0, 196601, 1, 0, 196602, 8, 0, 196603, 11, 0, 196604, 12, 0, 196605, 8, 0, 196606, 1, 0, 196607, 1, 0, 131072, 1, 0, 131073, 1, 0, 131074, 1, 0, 131075, 1, 0, 131076, 1, 0, 131077, 1, 0, 131078, 1, 0, 131079, 1, 0, 131080, 8, 0, 131081, 8, 0, 131082, 8, 0, 131083, 8, 0, 131084, 1, 0, 131085, 1, 0, 131086, 1, 0, 131087, 1, 0, 131088, 1, 0, 131089, 1, 0, 131090, 1, 0, 131091, 1, 0, 131092, 1, 0, 131093, 1, 0, 131094, 1, 0, 131095, 1, 0, 131096, 8, 0, 131097, 8, 0, 131098, 1, 0, 131099, 1, 0, 262133, 1, 0, 262134, 1, 0, 262135, 1, 0, 262136, 1, 0, 262137, 1, 0, 262138, 8, 0, 262139, 11, 0, 262140, 12, 0, 262141, 8, 0, 262142, 1, 0, 262143, 1, 0, 196608, 1, 0, 196609, 1, 0, 196610, 1, 0, 196611, 1, 0, 196612, 1, 0, 196613, 1, 0, 196614, 1, 0, 196615, 1, 0, 196616, 8, 0, 196617, 2, 0, 196618, 2, 0, 196619, 8, 0, 196620, 1, 0, 196621, 1, 0, 196622, 1, 0, 196623, 1, 0, 196624, 1, 0, 196625, 1, 0, 196626, 1, 0, 196627, 1, 0, 196628, 1, 0, 196629, 1, 0, 196630, 1, 0, 196631, 1, 0, 196632, 8, 0, 196633, 8, 0, 196634, 1, 0, 196635, 1, 0, 327669, 1, 0, 327670, 1, 0, 327671, 1, 0, 327672, 1, 0, 327673, 1, 0, 327674, 8, 0, 327675, 11, 0, 327676, 12, 0, 327677, 8, 0, 327678, 1, 0, 327679, 1, 0, 262144, 1, 0, 262145, 1, 0, 262146, 1, 0, 262147, 1, 0, 262148, 1, 0, 262149, 1, 0, 262150, 1, 0, 262151, 1, 0, 262152, 8, 0, 262153, 2, 0, 262154, 2, 0, 262155, 8, 0, 262156, 1, 0, 262157, 1, 0, 262158, 1, 0, 262159, 1, 0, 262160, 1, 0, 262161, 1, 0, 262162, 1, 0, 262163, 1, 0, 262164, 1, 0, 262165, 1, 0, 262166, 1, 0, 262167, 1, 0, 262168, 8, 0, 262169, 8, 0, 262170, 1, 0, 262171, 1, 0, 393205, 1, 0, 393206, 1, 0, 393207, 1, 0, 393208, 1, 0, 393209, 1, 0, 393210, 8, 0, 393211, 11, 0, 393212, 12, 0, 393213, 8, 0, 393214, 1, 0, 393215, 1, 0, 327680, 1, 0, 327681, 1, 0, 327682, 1, 0, 327683, 1, 0, 327684, 1, 0, 327685, 1, 0, 327686, 1, 0, 327687, 1, 0, 327688, 8, 0, 327689, 11, 0, 327690, 12, 0, 327691, 8, 0, 327692, 1, 0, 327693, 1, 0, 327694, 1, 0, 327695, 1, 0, 327696, 8, 0, 327697, 8, 0, 327698, 8, 0, 327699, 8, 0, 327700, 8, 0, 327701, 1, 0, 327702, 1, 0, 327703, 1, 0, 327704, 8, 0, 327705, 8, 0, 327706, 1, 0, 327707, 1, 0, 458741, 1, 0, 458742, 1, 0, 458743, 1, 0, 458744, 1, 0, 458745, 1, 0, 458746, 8, 0, 458747, 11, 0, 458748, 12, 0, 458749, 8, 0, 458750, 1, 0, 458751, 1, 0, 393216, 1, 0, 393217, 1, 0, 393218, 1, 0, 393219, 1, 0, 393220, 1, 0, 393221, 1, 0, 393222, 1, 0, 393223, 1, 0, 393224, 8, 0, 393225, 11, 0, 393226, 12, 0, 393227, 8, 0, 393228, 1, 0, 393229, 1, 0, 393230, 1, 0, 393231, 1, 0, 393232, 8, 0, 393233, 8, 0, 393234, 8, 0, 393235, 8, 0, 393236, 8, 0, 393237, 1, 0, 393238, 1, 0, 393239, 1, 0, 393240, 8, 0, 393241, 8, 0, 393242, 1, 0, 393243, 1, 0, 524277, 1, 0, 524278, 1, 0, 524279, 1, 0, 524280, 1, 0, 524281, 1, 0, 524282, 8, 0, 524283, 11, 0, 524284, 12, 0, 524285, 8, 0, 524286, 1, 0, 524287, 1, 0, 458752, 1, 0, 458753, 1, 0, 458754, 1, 0, 458755, 1, 0, 458756, 1, 0, 458757, 1, 0, 458758, 1, 0, 458759, 1, 0, 458760, 8, 0, 458761, 11, 0, 458762, 12, 0, 458763, 8, 0, 458764, 1, 0, 458765, 1, 0, 458766, 1, 0, 458767, 1, 0, 458768, 8, 0, 458769, 2, 0, 458770, 2, 0, 458771, 2, 0, 458772, 8, 0, 458773, 1, 0, 458774, 1, 0, 458775, 1, 0, 458776, 8, 0, 458777, 8, 0, 458778, 1, 0, 458779, 1, 0, 589813, 1, 0, 589814, 1, 0, 589815, 1, 0, 589816, 1, 0, 589817, 8, 0, 589818, 8, 0, 589819, 2, 0, 589820, 2, 0, 589821, 8, 0, 589822, 8, 0, 589823, 8, 0, 524288, 8, 0, 524289, 8, 0, 524290, 8, 0, 524291, 8, 0, 524292, 8, 0, 524293, 8, 0, 524294, 8, 0, 524295, 8, 0, 524296, 8, 0, 524297, 11, 0, 524298, 12, 0, 524299, 8, 0, 524300, 1, 0, 524301, 1, 0, 524302, 1, 0, 524303, 1, 0, 524304, 8, 0, 524305, 2, 0, 524306, 2, 0, 524307, 2, 0, 524308, 8, 0, 524309, 8, 0, 524310, 8, 0, 524311, 8, 0, 524312, 8, 0, 524313, 8, 0, 524314, 1, 0, 524315, 1, 0, 655349, 1, 0, 655350, 1, 0, 655351, 1, 0, 655352, 1, 0, 655353, 8, 0, 655354, 2, 0, 655355, 2, 0, 655356, 10, 0, 655357, 10, 0, 655358, 10, 0, 655359, 10, 0, 589824, 10, 0, 589825, 10, 0, 589826, 10, 0, 589827, 10, 0, 589828, 10, 0, 589829, 10, 0, 589830, 10, 0, 589831, 10, 0, 589832, 10, 0, 589833, 2, 0, 589834, 2, 0, 589835, 8, 0, 589836, 1, 0, 589837, 1, 0, 589838, 1, 0, 589839, 1, 0, 589840, 8, 0, 589841, 2, 0, 589842, 2, 0, 589843, 2, 0, 589844, 10, 0, 589845, 10, 0, 589846, 10, 0, 589847, 10, 0, 589848, 8, 0, 589849, 8, 0, 589850, 1, 0, 589851, 1, 0, 720885, 1, 0, 720886, 1, 0, 720887, 1, 0, 720888, 1, 0, 720889, 8, 0, 720890, 2, 0, 720891, 2, 0, 720892, 9, 0, 720893, 9, 0, 720894, 9, 0, 720895, 9, 0, 655360, 9, 0, 655361, 9, 0, 655362, 9, 0, 655363, 9, 0, 655364, 9, 0, 655365, 9, 0, 655366, 9, 0, 655367, 9, 0, 655368, 9, 0, 655369, 2, 0, 655370, 2, 0, 655371, 8, 0, 655372, 1, 0, 655373, 1, 0, 655374, 1, 0, 655375, 1, 0, 655376, 8, 0, 655377, 2, 0, 655378, 2, 0, 655379, 2, 0, 655380, 9, 0, 655381, 9, 0, 655382, 9, 0, 655383, 9, 0, 655384, 8, 0, 655385, 8, 0, 655386, 1, 0, 655387, 1, 0, 786421, 1, 0, 786422, 1, 0, 786423, 1, 0, 786424, 1, 0, 786425, 8, 0, 786426, 11, 0, 786427, 12, 0, 786428, 8, 0, 786429, 8, 0, 786430, 8, 0, 786431, 8, 0, 720896, 8, 0, 720897, 8, 0, 720898, 8, 0, 720899, 8, 0, 720900, 8, 0, 720901, 8, 0, 720902, 8, 0, 720903, 8, 0, 720904, 8, 0, 720905, 8, 0, 720906, 8, 0, 720907, 8, 0, 720908, 1, 0, 720909, 1, 0, 720910, 1, 0, 720911, 1, 0, 720912, 8, 0, 720913, 11, 0, 720914, 12, 0, 720915, 8, 0, 720916, 8, 0, 720917, 8, 0, 720918, 8, 0, 720919, 8, 0, 720920, 8, 0, 720921, 8, 0, 720922, 1, 0, 720923, 1, 0, 851957, 1, 0, 851958, 1, 0, 851959, 1, 0, 851960, 1, 0, 851961, 8, 0, 851962, 11, 0, 851963, 12, 0, 851964, 8, 0, 851965, 8, 0, 851966, 8, 0, 851967, 8, 0, 786432, 1, 0, 786433, 1, 0, 786434, 1, 0, 786435, 1, 0, 786436, 1, 0, 786437, 1, 0, 786438, 1, 0, 786439, 1, 0, 786440, 1, 0, 786441, 1, 0, 786442, 1, 0, 786443, 1, 0, 786444, 1, 0, 786445, 1, 0, 786446, 1, 0, 786447, 1, 0, 786448, 8, 0, 786449, 11, 0, 786450, 12, 0, 786451, 8, 0, 786452, 1, 0, 786453, 1, 0, 786454, 1, 0, 786455, 1, 0, 786456, 1, 0, 786457, 1, 0, 786458, 1, 0, 786459, 1, 0, 917493, 1, 0, 917494, 1, 0, 917495, 1, 0, 917496, 1, 0, 917497, 8, 0, 917498, 11, 0, 917499, 12, 0, 917500, 8, 0, 917501, 8, 0, 917502, 8, 0, 917503, 1, 0, 851968, 1, 0, 851969, 1, 0, 851970, 1, 0, 851971, 1, 0, 851972, 1, 0, 851973, 1, 0, 851974, 1, 0, 851975, 1, 0, 851976, 1, 0, 851977, 1, 0, 851978, 1, 0, 851979, 1, 0, 851980, 8, 0, 851981, 8, 0, 851982, 8, 0, 851983, 8, 0, 851984, 8, 0, 851985, 11, 0, 851986, 12, 0, 851987, 8, 0, 851988, 8, 0, 851989, 8, 0, 851990, 8, 0, 851991, 8, 0, 851992, 8, 0, 851993, 8, 0, 851994, 1, 0, 851995, 1, 0, 983029, 1, 0, 983030, 1, 0, 983031, 1, 0, 983032, 1, 0, 983033, 8, 0, 983034, 11, 0, 983035, 12, 0, 983036, 8, 0, 983037, 8, 0, 983038, 1, 0, 983039, 1, 0, 917504, 1, 0, 917505, 1, 0, 917506, 1, 0, 917507, 1, 0, 917508, 1, 0, 917509, 1, 0, 917510, 1, 0, 917511, 1, 0, 917512, 1, 0, 917513, 1, 0, 917514, 1, 0, 917515, 8, 0, 917516, 8, 0, 917517, 2, 0, 917518, 10, 0, 917519, 10, 0, 917520, 10, 0, 917521, 10, 0, 917522, 10, 0, 917523, 10, 0, 917524, 10, 0, 917525, 10, 0, 917526, 10, 0, 917527, 2, 0, 917528, 2, 0, 917529, 8, 0, 917530, 1, 0, 917531, 1, 0, 1048565, 1, 0, 1048566, 1, 0, 1048567, 1, 0, 1048568, 1, 0, 1048569, 8, 0, 1048570, 11, 0, 1048571, 12, 0, 1048572, 8, 0, 1048573, 8, 0, 1048574, 8, 0, 1048575, 8, 0, 983040, 8, 0, 983041, 8, 0, 983042, 8, 0, 983043, 8, 0, 983044, 8, 0, 983045, 8, 0, 983046, 8, 0, 983047, 8, 0, 983048, 8, 0, 983049, 8, 0, 983050, 8, 0, 983051, 8, 0, 983052, 2, 0, 983053, 10, 0, 983054, 9, 0, 983055, 9, 0, 983056, 9, 0, 983057, 9, 0, 983058, 9, 0, 983059, 9, 0, 983060, 9, 0, 983061, 9, 0, 983062, 9, 0, 983063, 2, 0, 983064, 2, 0, 983065, 8, 0, 983066, 1, 0, 983067, 1, 0, 1114101, 1, 0, 1114102, 1, 0, 1114103, 1, 0, 1114104, 1, 0, 1114105, 8, 0, 1114106, 2, 0, 1114107, 2, 0, 1114108, 10, 0, 1114109, 10, 0, 1114110, 10, 0, 1114111, 10, 0, 1048576, 10, 0, 1048577, 10, 0, 1048578, 10, 0, 1048579, 10, 0, 1048580, 10, 0, 1048581, 10, 0, 1048582, 10, 0, 1048583, 10, 0, 1048584, 10, 0, 1048585, 10, 0, 1048586, 10, 0, 1048587, 10, 0, 1048588, 10, 0, 1048589, 9, 0, 1048590, 2, 0, 1048591, 8, 0, 1048592, 8, 0, 1048593, 8, 0, 1048594, 8, 0, 1048595, 8, 0, 1048596, 8, 0, 1048597, 8, 0, 1048598, 8, 0, 1048599, 11, 0, 1048600, 12, 0, 1048601, 8, 0, 1048602, 1, 0, 1048603, 1, 0, 1179637, 1, 0, 1179638, 1, 0, 1179639, 1, 0, 1179640, 1, 0, 1179641, 8, 0, 1179642, 2, 0, 1179643, 2, 0, 1179644, 9, 0, 1179645, 9, 0, 1179646, 9, 0, 1179647, 9, 0, 1114112, 9, 0, 1114113, 9, 0, 1114114, 9, 0, 1114115, 9, 0, 1114116, 9, 0, 1114117, 9, 0, 1114118, 9, 0, 1114119, 9, 0, 1114120, 9, 0, 1114121, 9, 0, 1114122, 9, 0, 1114123, 9, 0, 1114124, 9, 0, 1114125, 2, 0, 1114126, 8, 0, 1114127, 8, 0, 1114128, 1, 0, 1114129, 1, 0, 1114130, 1, 0, 1114131, 1, 0, 1114132, 1, 0, 1114133, 1, 0, 1114134, 8, 0, 1114135, 11, 0, 1114136, 12, 0, 1114137, 8, 0, 1114138, 1, 0, 1114139, 1, 0, 1245173, 1, 0, 1245174, 1, 0, 1245175, 1, 0, 1245176, 1, 0, 1245177, 8, 0, 1245178, 11, 0, 1245179, 12, 0, 1245180, 8, 0, 1245181, 8, 0, 1245182, 8, 0, 1245183, 8, 0, 1179648, 8, 0, 1179649, 8, 0, 1179650, 8, 0, 1179651, 8, 0, 1179652, 8, 0, 1179653, 8, 0, 1179654, 8, 0, 1179655, 8, 0, 1179656, 8, 0, 1179657, 8, 0, 1179658, 8, 0, 1179659, 8, 0, 1179660, 8, 0, 1179661, 8, 0, 1179662, 8, 0, 1179663, 1, 0, 1179664, 1, 0, 1179665, 1, 0, 1179666, 1, 0, 1179667, 1, 0, 1179668, 1, 0, 1179669, 1, 0, 1179670, 8, 0, 1179671, 11, 0, 1179672, 12, 0, 1179673, 8, 0, 1179674, 1, 0, 1179675, 1, 0, 1310709, 1, 0, 1310710, 1, 0, 1310711, 1, 0, 1310712, 1, 0, 1310713, 8, 0, 1310714, 11, 0, 1310715, 12, 0, 1310716, 8, 0, 1310717, 1, 0, 1310718, 1, 0, 1310719, 1, 0, 1245184, 1, 0, 1245185, 1, 0, 1245186, 1, 0, 1245187, 1, 0, 1245188, 1, 0, 1245189, 1, 0, 1245190, 1, 0, 1245191, 8, 0, 1245192, 1, 0, 1245193, 1, 0, 1245194, 1, 0, 1245195, 1, 0, 1245196, 1, 0, 1245197, 1, 0, 1245198, 1, 0, 1245199, 1, 0, 1245200, 1, 0, 1245201, 1, 0, 1245202, 1, 0, 1245203, 1, 0, 1245204, 1, 0, 1245205, 1, 0, 1245206, 8, 0, 1245207, 11, 0, 1245208, 12, 0, 1245209, 8, 0, 1245210, 1, 0, 1245211, 1, 0, 1376245, 1, 0, 1376246, 1, 0, 1376247, 1, 0, 1376248, 1, 0, 1376249, 8, 0, 1376250, 11, 0, 1376251, 12, 0, 1376252, 8, 0, 1376253, 1, 0, 1376254, 1, 0, 1376255, 1, 0, 1310720, 1, 0, 1310721, 1, 0, 1310722, 1, 0, 1310723, 1, 0, 1310724, 1, 0, 1310725, 1, 0, 1310726, 1, 0, 1310727, 8, 0, 1310728, 1, 0, 1310729, 1, 0, 1310730, 1, 0, 1310731, 1, 0, 1310732, 1, 0, 1310733, 1, 0, 1310734, 1, 0, 1310735, 1, 0, 1310736, 1, 0, 1310737, 1, 0, 1310738, 1, 0, 1310739, 1, 0, 1310740, 1, 0, 1310741, 1, 0, 1310742, 8, 0, 1310743, 11, 0, 1310744, 12, 0, 1310745, 8, 0, 1310746, 1, 0, 1310747, 1, 0, 1441781, 1, 0, 1441782, 1, 0, 1441783, 1, 0, 1441784, 1, 0, 1441785, 8, 0, 1441786, 11, 0, 1441787, 12, 0, 1441788, 8, 0, 1441789, 1, 0, 1441790, 1, 0, 1441791, 1, 0, 1376256, 1, 0, 1376257, 1, 0, 1376258, 1, 0, 1376259, 1, 0, 1376260, 1, 0, 1376261, 1, 0, 1376262, 1, 0, 1376263, 8, 0, 1376264, 1, 0, 1376265, 1, 0, 1376266, 1, 0, 1376267, 1, 0, 1376268, 1, 0, 1376269, 1, 0, 1376270, 1, 0, 1376271, 1, 0, 1376272, 1, 0, 1376273, 1, 0, 1376274, 1, 0, 1376275, 1, 0, 1376276, 1, 0, 1376277, 1, 0, 1376278, 8, 0, 1376279, 11, 0, 1376280, 12, 0, 1376281, 8, 0, 1376282, 1, 0, 1376283, 1, 0, 1507317, 1, 0, 1507318, 1, 0, 1507319, 1, 0, 1507320, 1, 0, 1507321, 8, 0, 1507322, 11, 0, 1507323, 12, 0, 1507324, 8, 0, 1507325, 1, 0, 1507326, 1, 0, 1507327, 1, 0, 1441792, 1, 0, 1441793, 1, 0, 1441794, 1, 0, 1441795, 1, 0, 1441796, 1, 0, 1441797, 1, 0, 1441798, 1, 0, 1441799, 8, 0, 1441800, 1, 0, 1441801, 1, 0, 1441802, 1, 0, 1441803, 1, 0, 1441804, 1, 0, 1441805, 1, 0, 1441806, 1, 0, 1441807, 1, 0, 1441808, 1, 0, 1441809, 1, 0, 1441810, 1, 0, 1441811, 1, 0, 1441812, 1, 0, 1441813, 1, 0, 1441814, 8, 0, 1441815, 11, 0, 1441816, 12, 0, 1441817, 8, 0, 1441818, 1, 0, 1441819, 1, 0, 1572853, 1, 0, 1572854, 1, 0, 1572855, 1, 0, 1572856, 1, 0, 1572857, 8, 0, 1572858, 11, 0, 1572859, 12, 0, 1572860, 8, 0, 1572861, 1, 0, 1572862, 1, 0, 1572863, 1, 0, 1507328, 1, 0, 1507329, 1, 0, 1507330, 1, 0, 1507331, 1, 0, 1507332, 1, 0, 1507333, 1, 0, 1507334, 1, 0, 1507335, 8, 0, 1507336, 1, 0, 1507337, 1, 0, 1507338, 1, 0, 1507339, 1, 0, 1507340, 1, 0, 1507341, 1, 0, 1507342, 1, 0, 1507343, 1, 0, 1507344, 1, 0, 1507345, 1, 0, 1507346, 1, 0, 1507347, 1, 0, 1507348, 1, 0, 1507349, 1, 0, 1507350, 8, 0, 1507351, 11, 0, 1507352, 12, 0, 1507353, 8, 0, 1507354, 1, 0, 1507355, 1, 0, 1638389, 1, 0, 1638390, 8, 0, 1638391, 8, 0, 1638392, 8, 0, 1638393, 8, 0, 1638394, 11, 0, 1638395, 12, 0, 1638396, 8, 0, 1638397, 8, 0, 1638398, 8, 0, 1638399, 8, 0, 1572864, 8, 0, 1572865, 8, 0, 1572866, 8, 0, 1572867, 8, 0, 1572868, 8, 0, 1572869, 1, 0, 1572870, 1, 0, 1572871, 8, 0, 1572872, 8, 0, 1572873, 1, 0, 1572874, 1, 0, 1572875, 1, 0, 1572876, 1, 0, 1572877, 1, 0, 1572878, 1, 0, 1572879, 1, 0, 1572880, 1, 0, 1572881, 1, 0, 1572882, 1, 0, 1572883, 1, 0, 1572884, 1, 0, 1572885, 1, 0, 1572886, 8, 0, 1572887, 2, 0, 1572888, 2, 0, 1572889, 8, 0, 1572890, 1, 0, 1572891, 1, 0, 1703925, 1, 0, 1703926, 8, 0, 1703927, 2, 0, 1703928, 2, 0, 1703929, 10, 0, 1703930, 2, 0, 1703931, 2, 0, 1703932, 10, 0, 1703933, 10, 0, 1703934, 10, 0, 1703935, 10, 0, 1638400, 10, 0, 1638401, 10, 0, 1638402, 2, 0, 1638403, 2, 0, 1638404, 8, 0, 1638405, 1, 0, 1638406, 1, 0, 1638407, 8, 0, 1638408, 8, 0, 1638409, 8, 0, 1638410, 8, 0, 1638411, 8, 0, 1638412, 8, 0, 1638413, 8, 0, 1638414, 8, 0, 1638415, 8, 0, 1638416, 8, 0, 1638417, 8, 0, 1638418, 8, 0, 1638419, 8, 0, 1638420, 8, 0, 1638421, 8, 0, 1638422, 8, 0, 1638423, 8, 0, 1638424, 8, 0, 1638425, 8, 0, 1638426, 1, 0, 1638427, 1, 0, 1769461, 1, 0, 1769462, 8, 0, 1769463, 2, 0, 1769464, 2, 0, 1769465, 9, 0, 1769466, 2, 0, 1769467, 2, 0, 1769468, 9, 0, 1769469, 9, 0, 1769470, 9, 0, 1769471, 9, 0, 1703936, 9, 0, 1703937, 9, 0, 1703938, 2, 0, 1703939, 2, 0, 1703940, 8, 0, 1703941, 1, 0, 1703942, 1, 0, 1703943, 1, 0, 1703944, 1, 0, 1703945, 1, 0, 1703946, 1, 0, 1703947, 1, 0, 1703948, 1, 0, 1703949, 1, 0, 1703950, 1, 0, 1703951, 8, 0, 1703952, 8, 0, 1703953, 8, 0, 1703954, 8, 0, 1703955, 8, 0, 1703956, 8, 0, 1703957, 8, 0, 1703958, 8, 0, 1703959, 8, 0, 1703960, 8, 0, 1703961, 8, 0, 1703962, 1, 0, 1703963, 1, 0, 1834997, 1, 0, 1834998, 8, 0, 1834999, 8, 0, 1835000, 8, 0, 1835001, 8, 0, 1835002, 8, 0, 1835003, 8, 0, 1835004, 8, 0, 1835005, 8, 0, 1835006, 8, 0, 1835007, 8, 0, 1769472, 8, 0, 1769473, 8, 0, 1769474, 8, 0, 1769475, 8, 0, 1769476, 8, 0, 1769477, 1, 0, 1769478, 1, 0, 1769479, 1, 0, 1769480, 1, 0, 1769481, 1, 0, 1769482, 1, 0, 1769483, 1, 0, 1769484, 1, 0, 1769485, 1, 0, 1769486, 1, 0, 1769487, 1, 0, 1769488, 1, 0, 1769489, 1, 0, 1769490, 1, 0, 1769491, 1, 0, 1769492, 1, 0, 1769493, 1, 0, 1769494, 1, 0, 1769495, 1, 0, 1769496, 1, 0, 1769497, 1, 0, 1769498, 1, 0, 1769499, 1, 0, 1900533, 1, 0, 1900534, 1, 0, 1900535, 1, 0, 1900536, 1, 0, 1900537, 1, 0, 1900538, 1, 0, 1900539, 1, 0, 1900540, 1, 0, 1900541, 1, 0, 1900542, 1, 0, 1900543, 1, 0, 1835008, 1, 0, 1835009, 1, 0, 1835010, 1, 0, 1835011, 1, 0, 1835012, 1, 0, 1835013, 1, 0, 1835014, 1, 0, 1835015, 1, 0, 1835016, 1, 0, 1835017, 1, 0, 1835018, 1, 0, 1835019, 1, 0, 1835020, 1, 0, 1835021, 1, 0, 1835022, 1, 0, 1835023, 1, 0, 1835024, 1, 0, 1835025, 1, 0, 1835026, 1, 0, 1835027, 1, 0, 1835028, 1, 0, 1835029, 1, 0, 1835030, 1, 0, 1835031, 1, 0, 1835032, 1, 0, 1835033, 1, 0, 1835034, 1, 0, 1835035, 1, 0 )
-
-[node name="YSort" type="YSort" parent="."]
-
-[node name="Tree" parent="YSort" instance=ExtResource( 13 )]
-position = Vector2( 412.655, 542.278 )
-SPRITE_ASSET = "tree"
-
-[node name="Tree2" parent="YSort" instance=ExtResource( 13 )]
-position = Vector2( 699.041, 959.615 )
-SPRITE_ASSET = "tree"
-
-[node name="Tree3" parent="YSort" instance=ExtResource( 13 )]
-position = Vector2( 1442.82, 1946.85 )
-SPRITE_ASSET = "bush2"
-
-[node name="Tree4" parent="YSort" instance=ExtResource( 13 )]
-position = Vector2( 63.1429, 1809.55 )
-SPRITE_ASSET = "lamppost"
-
-[node name="Tree5" parent="YSort" instance=ExtResource( 13 )]
-position = Vector2( -51.2159, 977.061 )
-SPRITE_ASSET = "tree"
-
-[node name="Tree6" parent="YSort" instance=ExtResource( 13 )]
-position = Vector2( -194.168, 1484.96 )
-
-[node name="Tree7" parent="YSort" instance=ExtResource( 13 )]
-position = Vector2( 937.678, 1944.1 )
-
-[node name="Trolley" parent="YSort" instance=ExtResource( 4 )]
-position = Vector2( -662.648, -61.2234 )
-
-[node name="Player" parent="YSort" instance=ExtResource( 1 )]
-position = Vector2( -286.874, 187.666 )
-
-[node name="House1" parent="YSort" instance=ExtResource( 3 )]
-position = Vector2( 1645.09, 2033.9 )
-
-[node name="House2" parent="YSort" instance=ExtResource( 3 )]
-position = Vector2( 778.136, 1986.95 )
-
-[node name="House3" parent="YSort" instance=ExtResource( 3 )]
-position = Vector2( 807.044, 172.629 )
-
-[node name="House4" parent="YSort" instance=ExtResource( 3 )]
-position = Vector2( 1471.88, 482.054 )
-
-[node name="Neighbor1" parent="YSort" instance=ExtResource( 5 )]
-position = Vector2( 1814.78, 1300.02 )
-
-[node name="Neighbor2" parent="YSort" instance=ExtResource( 5 )]
-position = Vector2( 597.132, 1574.64 )
-
-[node name="Neighbor3" parent="YSort" instance=ExtResource( 5 )]
-position = Vector2( 278.149, 877.167 )
-
-[node name="Neighbor4" parent="YSort" instance=ExtResource( 5 )]
-position = Vector2( 1358.8, 998.716 )
-
-[node name="Decor" parent="YSort" instance=ExtResource( 13 )]
-position = Vector2( 1156.31, 938.382 )
-SPRITE_ASSET = "lamppost"
diff --git a/scenes/trolley.tscn b/scenes/trolley.tscn
index 8471891..481d4c2 100644
--- a/scenes/trolley.tscn
+++ b/scenes/trolley.tscn
@@ -1,8 +1,11 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=6 format=2]
 
 [ext_resource path="res://assets/trolley-lg.png" type="Texture" id=1]
 [ext_resource path="res://scripts/trolley.gd" type="Script" id=2]
 
+[sub_resource type="CircleShape2D" id=4]
+radius = 172.29
+
 [sub_resource type="RectangleShape2D" id=2]
 extents = Vector2( 38, 10 )
 
@@ -13,6 +16,12 @@ extents = Vector2( 44.5, 8.25 )
 collision_layer = 4
 script = ExtResource( 2 )
 
+[node name="TrolleySurroundingArea" type="Area2D" parent="."]
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="TrolleySurroundingArea"]
+position = Vector2( 0, -45 )
+shape = SubResource( 4 )
+
 [node name="TrolleySeatArea" type="Area2D" parent="."]
 collision_layer = 0
 
@@ -34,5 +43,5 @@ polygon = PoolVector2Array( 172, -5, 198, 106, 150, 106, 122, 127, 74, 109, 46,
 position = Vector2( 0, -2.25 )
 shape = SubResource( 3 )
 
+[connection signal="body_shape_exited" from="TrolleySurroundingArea" to="." method="_on_TrolleySurroundingArea_body_exited"]
 [connection signal="body_entered" from="TrolleySeatArea" to="." method="_on_TrolleySeatArea_body_entered"]
-[connection signal="body_exited" from="TrolleySeatArea" to="." method="_on_TrolleySeatArea_body_exited"]
diff --git a/scenes/Clouds.gd b/scripts/Clouds.gd
similarity index 55%
rename from scenes/Clouds.gd
rename to scripts/Clouds.gd
index 5e97832..610f81c 100644
--- a/scenes/Clouds.gd
+++ b/scripts/Clouds.gd
@@ -1,42 +1,39 @@
 extends Node2D
 
-
-# Declare member variables here. Examples:
-# var a = 2
-# var b = "text"
-
-onready var cloud1 = $Sprite
-onready var cloud2 = $Sprite2
-onready var cloud3 = $Sprite3
-onready var cloud4 = $Sprite4
 onready var topBorder = $TopBorder
 onready var bottomBorder = $BottomBorder
 onready var leftBorder = $LeftBorder
 onready var rightBorder = $RightBorder
 
+export var NUM_CLOUDS = 12
+
 var clouds = []
-
+var speeds = []
 var rng = RandomNumberGenerator.new()
-var xSpeed = 0
-
 
 # Called when the node enters the scene tree for the first time.
 func _ready():
+	for num in range(NUM_CLOUDS):
+		var cloud_image_path = "res://assets/cloud%s.png" % (num % 4 + 1)
+		var new_cloud_sprite = Sprite.new()
+		new_cloud_sprite.texture = load(cloud_image_path)
+		add_child(new_cloud_sprite)
+		clouds.append(new_cloud_sprite)
+		var rand_speed = rng.randf_range(0.5,2)
+		speeds.append(rand_speed)
 	rng.randomize()
-	xSpeed = rng.randf_range(0.5,2)
-	clouds = [cloud1, cloud2, cloud3, cloud4]
 	_start_position()
-	
-
 
 # Called every frame. 'delta' is the elapsed time since the previous frame.
 func _process(delta):
-	print(xSpeed)
+	var index := 0
 	for cloud in clouds:
-		if cloud.global_position.x + xSpeed < rightBorder.global_position.x:
-			cloud.global_position.x = cloud.global_position.x + xSpeed
+		if cloud.global_position.x + speeds[index] < rightBorder.global_position.x:
+			cloud.global_position.x = cloud.global_position.x + speeds[index]
 		else:
 			cloud.global_position.x = leftBorder.global_position.x
+			cloud.global_position.y = rng.randi_range(topBorder.global_position.y, bottomBorder.global_position.y)
+		index += 1
 
 func _start_position():
 	rng.randomize()
diff --git a/scripts/Sprite.gd b/scripts/Sprite.gd
deleted file mode 100644
index 439f7a9..0000000
--- a/scripts/Sprite.gd
+++ /dev/null
@@ -1,16 +0,0 @@
-extends Sprite
-
-
-# Declare member variables here. Examples:
-# var a = 2
-# var b = "text"
-
-
-# Called when the node enters the scene tree for the first time.
-func _ready():
-	pass # Replace with function body.
-
-
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-#func _process(delta):
-#	pass
diff --git a/scripts/UI.gd b/scripts/UI.gd
index 06a6a48..20de409 100644
--- a/scripts/UI.gd
+++ b/scripts/UI.gd
@@ -1,18 +1,52 @@
 extends Node2D
 
+class_name GUI
+
+signal toggle_music(music_off)
+
 onready var time_label := $MarginContainer/HBoxContainer/TimeLabel
+onready var neighbor_label := $MarginContainer/HBoxContainer/NeighborLabel
 onready var game_timer := $GameTimer
+onready var music_button := $MarginContainer/HBoxContainer/VBoxContainer/MusicButton
+onready var pause_button := $MarginContainer/HBoxContainer/GridContainer/PauseButton
+
+var arrow = preload("res://assets/ui/pointer.png")
+var hand = preload("res://assets/ui/pointer_hand.png")
+#var music_enabled_texture = preload("res://assets/ui/music-enabled.png")
+#var music_disabled_texture = preload("res://assets/ui/music-disabled.png")
+#var pause_texture = preload("res://assets/ui/pause.png")
+#var play_texture = preload("res://assets/ui/play.png")
 
 func start_timer(seconds: int) -> void:
 	game_timer.start(seconds)
 
+func set_neighbor_count(neighbors_left: int) -> void:
+	neighbor_label.text = "Neighbors left: %s" % neighbors_left
+
+func set_game_label(content: String) -> void:
+	neighbor_label.text = content
+
 func _ready() -> void:
-	start_timer(60)
+	Input.set_custom_mouse_cursor(arrow)
+#	Input.set_custom_mouse_cursor(beam, Input.CURSOR_IBEAM)
+#	start_timer(60)
 	
 func _process(delta: float) -> void:
 	var time = int(game_timer.get_time_left())
-	time_label.text = "Time %s" % time
+	time_label.text = "Time: %s" % time
+
+func _on_PauseButton_toggled(button_pressed: bool) -> void:
+	print('TODO nothing happens...')
+	
+func _on_MusicButton_toggled(button_pressed: bool) -> void:
+	emit_signal("toggle_music", !button_pressed)
+
+func _on_mouse_entered() -> void:
+	Input.set_custom_mouse_cursor(hand)
+	
+func _on_mouse_exited() -> void:
+	Input.set_custom_mouse_cursor(arrow)
 
 
-func _on_ToolButton_toggled(button_pressed: bool) -> void:
-	print(button_pressed)
+func _on_GameTimer_timeout() -> void:
+	pass # Replace with function body.
diff --git a/scripts/base_level.gd b/scripts/base_level.gd
new file mode 100644
index 0000000..efe0277
--- /dev/null
+++ b/scripts/base_level.gd
@@ -0,0 +1,97 @@
+extends Node2D
+
+class_name BaseLevel
+
+var helped_neighbors := []
+var total_neighbors := 0
+var playback_position: float
+var level_num := 1
+var last_level := false
+
+export var SECONDS_TO_COMPLETE := 10
+
+signal game_complete(is_win)
+
+onready var trolley = $YSort/Trolley as Trolley
+onready var player = $YSort/Player as Player
+onready var bounds = $CameraBounds
+onready var audio_player = $AudioStreamPlayer
+onready var gui = $YSort/Player/GUI as GUI
+onready var trolley_locations = $TrolleyLocations
+onready var end_game_panel = $Panel
+onready var end_game_label_title = $Panel/VBoxContainer/EndGameTitle
+onready var end_game_label_body = $Panel/VBoxContainer/EndGameBody
+onready var display_timer = $DisplayTimer
+
+func display_start(this_level_num: int, is_last_level: bool = false) -> void:
+	last_level = is_last_level
+	level_num = this_level_num
+	end_game_label_title.text = 'Land of make believe'
+	end_game_label_body.text = '1   %s' % level_num
+	end_game_panel.visible = true
+
+func _process(delta: float) -> void:
+	if end_game_panel.visible:
+			end_game_panel.rect_global_position = player.camera.get_camera_screen_center() - Vector2(get_viewport().get_visible_rect().size.x / 2, get_viewport().get_visible_rect().size.y / 2)
+
+func _on_neighbor_found_home(id: int) -> void:
+	helped_neighbors.append(id)
+	gui.set_neighbor_count(total_neighbors - len(helped_neighbors))
+	if len(helped_neighbors) == total_neighbors:
+		trolley.set_trolley_open(true)
+		gui.set_game_label("Get to the Trolley!")
+		player.follower = trolley
+
+func _on_toggle_music(music_off: bool) -> void:
+	if music_off:
+		playback_position = audio_player.get_playback_position()
+		audio_player.stop()
+	else:
+		audio_player.play(playback_position)
+
+
+func _on_Trolley_rogers_entered_trolley() -> void:
+	player.follower = null
+	trolley.move_to_leave()
+
+func _on_Trolley_rogers_left_trolley() -> void:
+	gui.start_timer(SECONDS_TO_COMPLETE)
+	trolley.move_to_end(trolley_locations.get_node("TrolleyEnd").global_position, SECONDS_TO_COMPLETE)
+	
+func _on_GameTimer_timeout() -> void:
+	trolley.move_to_leave()
+
+
+func _on_Trolley_left_wih_rogers(has_rogers) -> void:
+	if has_rogers:
+		if last_level:
+			end_game_label_title.text = 'You are very neighborly'
+			end_game_label_body.text = 'You saved all the neighbors in the land of make believe'
+			emit_signal("game_complete", true)
+		else:
+			end_game_label_title.text = 'You win'
+			end_game_label_body.text = 'Proceeding to level %s' % (level_num + 1)
+			emit_signal("game_complete", true)
+	else:
+		end_game_label_title.text = 'Oh no'
+		end_game_label_body.text = 'You were left in the land of make-believe'
+		emit_signal("game_complete", false)
+	end_game_panel.visible = true
+
+# Sets up the level start
+func _on_DisplayTimer_timeout() -> void:
+	end_game_panel.visible = false
+	if trolley != null:
+		trolley.global_position = Vector2(bounds.get_node("Left").global_position.x - 20, trolley_locations.get_node("TrolleyStart").global_position.y)
+	if player != null:
+		player.global_position = trolley.get_node("TrolleySeatArea/SeatAreaShape").global_position
+	for node in get_node("YSort").get_children():
+		if 'Neighbor' in node.name:
+			var err = node.connect("found_home", self, "_on_neighbor_found_home")
+			total_neighbors += 1
+	print('Level loaded with %s neighbors' % total_neighbors)
+	gui.set_neighbor_count(total_neighbors)
+	player.set_camera_bounds(bounds.get_node("Top").global_position.y, bounds.get_node("Bottom").global_position.y, bounds.get_node("Left").global_position.x, bounds.get_node("Right").global_position.x)
+	var err = gui.connect("toggle_music", self, "_on_toggle_music")
+	err = gui.get_node("GameTimer").connect("timeout", self, "_on_GameTimer_timeout")
+	trolley.move_to_start(get_node("TrolleyLocations/TrolleyStart").global_position)
diff --git a/scripts/level_controller.gd b/scripts/level_controller.gd
new file mode 100644
index 0000000..19cfcfb
--- /dev/null
+++ b/scripts/level_controller.gd
@@ -0,0 +1,36 @@
+extends Node2D
+
+
+var level_path := "res://scenes/level{num}.tscn"
+var level1 = preload("res://scenes/level1.tscn")
+var current_level_num = 1
+var current_level : Node
+var max_levels = 3
+var level_win := false
+
+onready var end_timer := $EndTimer
+
+func _ready() -> void:
+	current_level = level1.instance()
+	add_child(current_level)
+	var err = current_level.get_child(0).connect("game_complete", self, "_on_level_complete")
+
+func _on_level_complete(is_win: bool) -> void:
+	print('Level complete')
+	level_win = is_win
+	end_timer.start(2)
+
+
+func _on_EndTimer_timeout() -> void:
+	if level_win and current_level_num < max_levels:
+		current_level_num += 1
+		var new_level_path = level_path.format({"num": current_level_num})
+		var next_level = load(new_level_path).instance()
+		add_child(next_level)
+		current_level.queue_free()
+		current_level = next_level
+		var current_base_level = current_level.get_node("BaseLevel") as BaseLevel
+		current_base_level.display_start(current_level_num)
+		var err = current_base_level.connect("game_complete", self, "_on_level_complete")
+
+
diff --git a/scripts/neighbor.gd b/scripts/neighbor.gd
index 3b677ef..71d5220 100644
--- a/scripts/neighbor.gd
+++ b/scripts/neighbor.gd
@@ -95,7 +95,6 @@ func _idle_state(delta: float) -> void:
 
 func _go_home_state(delta: float) -> void:
 	_move_neighbor(house_direction, true)
-#	print((house_position - global_position).length())
 	if ((house_position - global_position).length() < 30):
 		emit_signal("found_home", id)
 		queue_free()
diff --git a/scripts/player.gd b/scripts/player.gd
index 30affec..1199401 100644
--- a/scripts/player.gd
+++ b/scripts/player.gd
@@ -13,13 +13,23 @@ var leader := self
 
 onready var sprite := $AnimatedSprite
 onready var chevron_sprite := $ChevronSprite
+onready var camera := $Camera2D
+onready var gui := $GUI
 
 enum State {
 	MOVE,
 	IDLE
 }
 
+func set_camera_bounds(up: int, down: int, left: int, right: int):
+	camera.set_limit(MARGIN_TOP, up)
+	camera.set_limit(MARGIN_BOTTOM, down)
+	camera.set_limit(MARGIN_LEFT, left)
+	camera.set_limit(MARGIN_RIGHT, right)
 
+func _process(delta: float) -> void:
+	gui.global_position = camera.get_camera_screen_center() - Vector2(get_viewport().get_visible_rect().size.x / 2, get_viewport().get_visible_rect().size.y / 2) # Get Height)
+	
 func _physics_process(delta: float) -> void:
 	match state:
 		State.MOVE:
@@ -28,6 +38,8 @@ func _physics_process(delta: float) -> void:
 			_idle_state(delta)
 	chevron_sprite.visible = follower != null
 	if follower != null:
+		if follower.name == "Trolley":
+			chevron_sprite.set_modulate(Color(0,0.9,0))
 		chevron_sprite.rotation_degrees = rad2deg((follower.house_position - global_position).angle()) - 90
 
 func _move_state(delta: float) -> void:
@@ -58,11 +70,3 @@ func _idle_state(delta: float) -> void:
 		state = State.MOVE
 	else:
 		sprite.set_animation("idle")
-#	if Input.is_action_pressed("ui_up"):
-#		speed.y -= ACCELERATION
-#	elif Input.is_action_pressed("ui_right"):
-#		print("right")
-#	elif Input.is_action_pressed("ui_left"):
-#		print("left")
-#	elif Input.is_action_pressed("ui_down"):
-#		print("down")
diff --git a/scripts/stage.gd b/scripts/stage.gd
index d1bc7c4..5d390fd 100644
--- a/scripts/stage.gd
+++ b/scripts/stage.gd
@@ -17,7 +17,6 @@ func _on_rogers_left_trolley() -> void:
 	pass
 
 func _on_neighbor_found_home(id: int) -> void:
-	print('You helped a neighbor')
 	helped_neighbors.append(id)
 	if len(helped_neighbors) == total_neighbors:
 		trolley.set_trolley_open(true)
diff --git a/scripts/trolley.gd b/scripts/trolley.gd
index 5b21c8d..afdac67 100644
--- a/scripts/trolley.gd
+++ b/scripts/trolley.gd
@@ -3,38 +3,114 @@ extends KinematicBody2D
 class_name Trolley
 
 signal rogers_left_trolley()
+signal rogers_entered_trolley()
+signal left_wih_rogers(has_rogers)
 
-export var TIME = 60
 onready var trolley_closed_shape = $TrolleyClosedShape
-export var MAX_VELOCITY = .3
+export var MAX_VELOCITY = 8
 
 var velocity := Vector2.ZERO
+var state = State.STOPPED
 var has_roger := false
+var destination := Vector2.ZERO
+var house_position : Vector2
+var arrival_time: int
+var en_route_length: float
 
-func _ready() -> void:
-	set_trolley_open(true)
+enum State {
+	MOVE_TO_START,
+	STOPPED,
+	EN_ROUTE,
+	LEAVING
+}
+
+func set_trolley_open(trolley_open: bool) -> void:
+	trolley_closed_shape.set_deferred("disabled", trolley_open)
+
+func move_to_start(start_pos: Vector2) -> void:
+	state = State.MOVE_TO_START
+	destination = start_pos
+	velocity = Vector2(MAX_VELOCITY, 0)
+	set_trolley_open(false)
+
+func move_to_end(end_pos: Vector2, seconds_to_exit) -> void:
+	state = State.EN_ROUTE
+	destination = end_pos
+	velocity = Vector2.ZERO
+	arrival_time = seconds_to_exit
+	set_trolley_open(false)
+	en_route_length = destination.x - global_position.x
+
+func move_to_leave() -> void:
+	if state != State.LEAVING:
+		set_trolley_open(false)
+		emit_signal("left_wih_rogers", has_roger)
+		state = State.LEAVING
 	
 func _physics_process(delta: float) -> void:
-	velocity.x = move_toward(velocity.x, MAX_VELOCITY, delta if not has_roger else delta * 10)
+	match state:
+		State.MOVE_TO_START:
+			_decelerate_to_start(delta)
+		State.STOPPED:
+			_stop(delta)
+		State.EN_ROUTE:
+			_en_route(delta)
+		State.LEAVING:
+			_leaving(delta)
+	# For the player indicator to show where the trolley is, update 'house_position' to current position
+	house_position = global_position
+
+func _decelerate_to_start(delta: float) -> void:
+	var length_to_start := destination.x - global_position.x - 100
+	velocity.x = min(move_toward(velocity.x, length_to_start, delta * 10), MAX_VELOCITY)
+	var collision := move_and_collide(velocity)
+	if collision:
+		var collider = collision.get_collider()
+		if collider.get_class() == "KinematicBody2D":
+			collider.move_and_collide(velocity * 2)
+	if global_position.x >= destination.x:
+		set_trolley_open(true)
+		state = State.STOPPED
+
+	
+func _stop(delta: float) -> void:
+	pass
+	
+func _en_route(delta: float) -> void:
+	velocity.x = en_route_length / arrival_time * delta
 	var collision := move_and_collide(velocity)
 	if collision:
 		var collider = collision.get_collider()
 		if collider.get_class() == "KinematicBody2D":
 			if has_roger:
-				MAX_VELOCITY = 10
+				return
 			collider.move_and_collide(velocity * 3)
+	if global_position.x >= destination.x:
+		set_trolley_open(false)
+		state = State.LEAVING
+
+
+func _leaving(delta: float) -> void:
+	velocity.x = min(move_toward(velocity.x, (destination.x + 200), delta * 10), MAX_VELOCITY)
+	var collision := move_and_collide(velocity)
+	if collision:
+		var collider = collision.get_collider()
+		if collider.get_class() == "KinematicBody2D":
+			collider.move_and_collide(velocity * 3)
+#	if global_position.x >= destination.x:
+#		set_trolley_open(true)
+#		state = State.STOPPED
 
-func set_trolley_open(trolley_open: bool) -> void:
-	trolley_closed_shape.set_deferred("disabled", trolley_open)
 
 func _on_TrolleySeatArea_body_entered(body: Node) -> void:
-	if body is Player:
+	if body is Player and state != State.STOPPED and state != State.MOVE_TO_START:
 		has_roger = true
-		print('closing trolley')
 		trolley_closed_shape.set_deferred("disabled", false)
+		emit_signal("rogers_entered_trolley")
 
 
-
-func _on_TrolleySeatArea_body_exited(body: Node) -> void:
+func _on_TrolleySurroundingArea_body_exited(body_rid: RID, body: Node, body_shape_index: int, local_shape_index: int) -> void:
 	if body is Player:
+		has_roger = false
 		emit_signal("rogers_left_trolley")
+