refactored scenemanager