diff --git a/include/game-engine.h b/include/game-engine.h
index e66e60194b902cb42eee173381e2cae1d4f7212e..d8f4e779d09cbd975965e3eeba6978e2e674dce0 100644
--- a/include/game-engine.h
+++ b/include/game-engine.h
@@ -1,8 +1,13 @@
 #ifndef __GAME_H__
 #define __GAME_H__
 
+#include <map>
+#include <string>
+#include <vector>
+
 #include "logger.h"
 #include "entity-manager.h"
+#include "scene.h"
 
 class GameEngine
 {
@@ -10,15 +15,28 @@ class GameEngine
 		GameEngine();
 		~GameEngine();
 		void init();
+		void run();
 		void update();
+		void close();
+		Scene currentScene();
+		void changeScene( Scene scene );
+		// std::vector< Asset& > getAssets();
+		// Window& getWindow();
 
+		bool isRunning;
 	private:
 		EntityManager _entityManager;
 		Logger& _logger;
 
+		std::string _currScene;
+		void changeScene( Scene scene );
+
 		// Window* _window;
+		// std::vector<Asset> _assets;
+		std::map< std::string, Scene > _scenes;
 
-		// Systems
+		/* Systems */
+		// sUserInput
 };
 
 #endif // __GAME_H__
diff --git a/include/scene.h b/include/scene.h
new file mode 100644
index 0000000000000000000000000000000000000000..149f98d55d7c0700570d500b4a18273afef7155c
--- /dev/null
+++ b/include/scene.h
@@ -0,0 +1,14 @@
+#ifndef __SCENE_H__ 
+#define __SCENE_H__ 
+
+#include "logger.h"
+
+class Scene{
+	public:
+		Scene();
+		~Scene();
+	private:
+		Logger& _logger;
+};
+
+#endif // __SCENE_H__ 
diff --git a/src/Scene.cpp b/src/Scene.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..3d38a18b8bb40f780f5b1b9ea39cc3b99c80e406
--- /dev/null
+++ b/src/Scene.cpp
@@ -0,0 +1,8 @@
+#include "scene.h"
+
+
+Scene::Scene()
+	: _logger( Logger::instance() )
+{ this->_logger.info( "Creating new Scene" ); }
+Scene::~Scene()
+	{ this->_logger.info( "Deleting Scene" ); }
diff --git a/src/game-engine.cpp b/src/game-engine.cpp
index 806836f90bce64f17b904cea828af91b5f06b374..ea8cbdcb7f94b39c6400b8e5260f8b90af310c7d 100644
--- a/src/game-engine.cpp
+++ b/src/game-engine.cpp
@@ -10,7 +10,21 @@ GameEngine::~GameEngine()
 {
 	this->_logger.info( "Cleaning GameEngine Object" );
 }
-void GameEngine::init(){}
+void GameEngine::close(){}
+void GameEngine::init()
+{
+	this->isRunning = false;
+	this->_currScene = "";
+}
+void GameEngine::changeScene( Scene scene ){}
+Scene* GameEngine::currentScene()
+{
+	return nullptr;
+}
+void GameEngine::run()
+{
+	this->isRunning = true;
+}
 void GameEngine::update()
 {
 	this->_entityManager.update();