update server implementation