add queue and some utilities, got scene changing working