refactored app into Visualizer, Simulator, Engine