recalc time