moves some of the error catching into the block where each year is iteratively checked
increase start before final return check