templateize all the event handlers