process via trigger