new server client implementation