add proxy and observer