Full client hierarchy refactoring