finished with date validation