add tests for leap year and end of month or end of year etc.