force overridden methods to be at least classmethod