complete a client and server demo