add: batch processing for events