Implemented most of functionalities of wrapper