Moved simulator to it's own class