separate proxy-support into an independent module