redesigned the simulator to use modular class tree\!