change from using Double to Datum for the ease of future extensions