support custom event triggers