eliminated non-overridable spec for allowing polymorphic extension