advanced declaration of base class