working on the client