christmas client refactoring