add isLeapYear, tests