refactored sceneio.rs - still needs a rewrite