update Adapter Design Pattern