Adapter pattern implemented