refactored Client CPT for less functions