add Proxy Design Pattern