raise NotImplementedError instead of BaseException