fix event.start and event.date, minor optimizations