added adapter pattern demo