trigger is better with event delegation