updated simulator class