add HasBeforeOnSelect
s