Writing candidate selection and refactoring our models