simplified the internal structure to use year/month/day