triggers refactoring