complete the client