added inheritance and abstraction homework