end_time now is calculated from previous end time instead if current time. Gets rid of drift.