code: function (server_name, onDone) {
  
  	// check if cached server info exists	
  	if (l_servers.hasOwnProperty(server_name)) {
  		var server = l_servers[server_name];
  		
  		LOG.warn('cache exists: ', 'Entry');
  		LOG.warn(server, 'Entry');
  		UTIL.safeCall(onDone, server);
  	}
  	else {
  		
  		// seek server IP/port info from monitor
  		//l_queryServer(server_name, function (result) {
  		//SR.Script['handler'].queryServer(server_name, function (result) {
  		//g_handler.queryServer(server_name, function (result) {
  		SR.API.queryServer({name: server_name}, function (err, result) {
  			
  			if (err) {
  				return LOG.error(err);	
  			}
  			
  			if (result && result.length > 0) {
  				// TODO: pick a random one if more than one choices OR choose based on loading?
  				var index = UTIL.randInteger(result.length);
  				var info = result[index];
  			
  				var server = {IP: info.IP, port: info.port}
  				l_servers[server_name] = server;
  				onDone(server);
  			}
  			else
  				onDone();
  		});
  	}	
  }
docs: query info for a server, returns server in the format of {IP: 'string', port: 'number} undefined if no servers found