Factored out CandidateList