add ProxyFactory