use two arrays for holding the ticks count called expired and active. they are
switched when the active array is all 0.
Merge branch 'next'