date edge cases added