client refactoring
client refactoring