split client class into own file