started client refactor