Adapter Pattern implemented