implement time span option
preserve timespan