Implement Adapter design pattern