unified the server and client APIs