selection and unit tests