More work on client - pretty close to being testable