add shift select support