create Adapter pattern