Implemented Adapter Pattern