Adapter Pattern Implementation