Implementing a client