a timespan class