trigger refactor