add `raise NotImplementedError`?