complete the client example