Implemented more of the client functionality