adapter pattern implmentation - structral pattern.