multi token select refactor