Lots of work on the client