Client Controller refactor