Implemented 'Run simulation', need to fix some bugs, visualize result and do some refactoring.