minor refactoring, added new simulation class