generalize Proxy.