diff --git a/src/studio/include/studio/simulator.hpp b/src/studio/include/studio/simulator.hpp
index 6ee10e36b5aadfc2a04628571cd0435642f52fba..1bb0fdae35a5db8aaa6731b88d5f8c5473a22149 100644
--- a/src/studio/include/studio/simulator.hpp
+++ b/src/studio/include/studio/simulator.hpp
@@ -64,9 +64,6 @@ private:
     std::vector<cam_control_ptr> cam_controls;
 
     /* SCENE */
-    std::vector<object_ptr> objects;
-    std::vector<frame_ptr> obj_frames;
-    
     std::vector<node_ptr> scene;
     node_ptr selection;
 
diff --git a/src/studio/src/simulator.cpp b/src/studio/src/simulator.cpp
index 16bb09fd991cfdaac3011dbc52f74c98d39694c0..6c78bdc5ce03efff801a8046f175548e8230196f 100644
--- a/src/studio/src/simulator.cpp
+++ b/src/studio/src/simulator.cpp
@@ -116,17 +116,9 @@ Simulator::Simulator()
                                                  "./data/shaders/lightshader.frag")},
                 {"basic", std::make_shared<Shader>("./data/shaders/basicshader.vert",
                                                    "./data/shaders/basicshader.frag")}}
-    , cam_controls{std::make_shared<CameraController>()}
-    , objects{std::make_shared<Object>(lit_cube_vertices, lit_cube_indices, lit_cube_normals),
-              std::make_shared<Object>(lit_cube_vertices, lit_cube_indices, lit_cube_normals, glm::vec3(1.0f, 1.0f, 1.0f))}
-    , obj_frames{std::make_shared<Frame>(),
-                 std::make_shared<Frame>(glm::vec3(1.2f, 2.0f, 2.0f ))}
     , obj_controls{std::make_shared<ObjectController>()}
+    , cam_controls{std::make_shared<CameraController>()}
 {
-    /* SET LIGHT CUBE SHADER AND SIZE */
-    objects[1]->setShaderType("basic");
-    obj_frames[1]->setScale(glm::vec3(0.1f, 0.1f, 0.1f));
-
     create_scene();
     find_cameras(scene);
     find_lights(scene);
@@ -225,11 +217,19 @@ void Simulator::find_cameras(const std::vector<node_ptr> &scene)
 
 void Simulator::create_scene()
 {
-    for (std::size_t i = 0; i < objects.size(); ++i)
-    {
-        scene.emplace_back(std::make_shared<Node>(obj_frames[i]));
-        scene[i]->addObject(objects[i]);
-    }
+    /* ADD DEFAULT CUBE */
+    scene.emplace_back(std::make_shared<Node>(std::make_shared<Frame>(Frame{})));
+    scene.back()->addObject(std::make_shared<Object>(lit_cube_vertices, lit_cube_indices, lit_cube_normals));
+
+    /* ADD LIGHT CUBE AND ITS LIGHT */
+    scene.emplace_back(std::make_shared<Node>(std::make_shared<Frame>(Frame{glm::vec3(1.2f, 2.0f, 2.0f)})));
+    scene.back()->addObject(std::make_shared<Object>(lit_cube_vertices, 
+                                                     lit_cube_indices, 
+                                                     lit_cube_normals, 
+                                                     glm::vec3(1.0f, 1.0f, 1.0f), 
+                                                     "basic"));
+    scene.back()->getFrame()->setScale(glm::vec3(0.1f, 0.1f, 0.1f));
+    scene.back()->addObject(std::make_shared<Light>(glm::vec3(1.0f, 1.0f, 1.0f), scene.back()->getFrame()));
 
     /* ADD GRID */
     scene.emplace_back(std::make_shared<Node>(std::make_shared<Frame>(glm::vec3(0, 0, 0))));
@@ -241,10 +241,6 @@ void Simulator::create_scene()
     grid->setDrawMode(GL_LINES);                                            
     scene.back()->addObject(std::move(grid));
 
-    /* ADD LIGHT */
-    scene.emplace_back(std::make_shared<Node>(obj_frames[1]));
-    scene.back()->addObject(std::make_shared<Light>(glm::vec3(1.0f, 1.0f, 1.0f), scene.back()->getFrame()));
-
     /* ADD CAMERA */
     scene.emplace_back(std::make_shared<Node>(std::make_shared<Frame>(glm::vec3(0.0f, 1.0f, 6.0f))));
     scene.back()->addObject(std::make_shared<Camera>(60.0f, scene.back()->getFrame()));