changed internal representation of date-time components and removed bounds checking function