use ProxyAgent interface