refactor use time.IsZero