preselection logic