Added a simulation framework. Closes #9