adapter design pattern added