more flexible source selection