add proxy desgin pattern