base class has more func