Lots more client class refactoring