source selection based on userPreference