working on abstract arithmetic data types (datetime) -- work in progress