Added Adapter pattern