devide the class into two individual functionalities
(1) wrapper part, (2) original implementation part