Client class mostly complete