refactor scene stuff