re-did the classes and updated their methods