refactored Assignment 2 so that relevant classes derive from abstract base class. Refactored parseXML method to return instance rather than pointer