added Proxy Design Pattern