support negation & range selection in []