trigger should be chainable