added proxy server implementation