docs: function (host, port, onError) {
  	
  	var proxy = undefined;
  	
  	var options = {target: 'ws://' + host, ws: true};
  	LOG.warn('create new ws proxy at port: ' + port + ' options: ', 'SR.Proxy');
  	LOG.warn(options, 'SR.Proxy');
  	
  	proxy = httpProxy.createServer(options);
  		
  	// install error handler (NOTE: very imporant for stability)
  	proxy.on('error', function (err, req, res) {
  		UTIL.safeCall(onError, err);
  	});
  	
  	// be notified when closed
  	// ref: https://github.com/nodejitsu/node-http-proxy
  	proxy.on('close', function (req, socket, head) {
    		// view disconnected websocket connections
    		console.log('Client disconnected');
  	});	
  
  	// store proxy for later uses
  	// NOTE: not used directly
  	l_proxies[host] = proxy;
  
  	// record local port for future references
  	// NOTE: this is an important step for future queries of the proxy
  	// and may need to be performed before setting the on('xx') handler(s) 
  	// BUG: seems like 'local_port' info will disappear under certain circumstances
  	// (after entries are shutdown & restart many times)
  	l_proxies[host].local_port = port;
  		
  	// start to listen for requests	
  	// NOTE: listen may fail or cause errors that could trigger this proxy be removed from list
  	proxy.listen(port);	
  
  	return proxy;
  	
  	/* 2nd version
  	proxy = httpProxy.createProxyServer(options);
  	
  	proxy.on('error', function (e) {
  		UTIL.safeCall(onError, e);
  	});
  	
  	// start a new HTTP server just for websocket connections
  	var proxyServer = http.createServer(function (req, res) {
  		LOG.warn('incoming request to standalone HTTP ws proxy', 'SR.Proxy');
  		proxy.web(req, res);
  	});
  
  	//
  	// Listen to the `upgrade` event and proxy the
  	// WebSocket requests as well.
  	//
  	proxyServer.on('upgrade', function (req, socket, head) {
  		try {
  			proxy.ws(req, socket, head);
  		}
  	    catch (e) {
  			LOG.error('websocket error:', 'SR.Proxy');
  			LOG.error(e, 'SR.Proxy');
  		}
  			
  	});
  
  	// TODO: may need to provide a unique port for it
  	// TODO: record this http server?
  	LOG.warn('starting ws proxy at port: ' + port, 'SR.Proxy');
  	proxyServer.listen(port);
  	
  	return proxy;
  	*/
  }