Adding abstract base class