CLIENT refactoring