raise not return on max elapsed time, also check for elapsed time after next interval is calculated and it goes over the max elapsed time