The adapter pattern has been added.