Raise NotImplementedError on abstract class
Consolidate same logics