CJ client refactoring