Adapter pattern added