finished Adapter pattern, example 2