proxy and facade design pattern