maybe `self.__class__` is clearer?