broker structure and candidate refactor