Added user interface stuff... still somewhat experimental
Made a common interface for simulation programs