refactoring Zeller and month length