more date refactor