selectionFactory refactoring