much more efficient client->server routing