removing unnecessary cases
using our date utilities instead of the custom implementation
simplifying the conditionals