added a ReverseEngineer class