Just barely implemented the client