adapter pattern included