Refactor selection and rejection methods