added adapter pattern example