paramaterizing base class