refactoring on person client