move calculation from builder to time_span