Refactor to use SelectionBuilder