refactored DateFormat