Now throws exception when date is logically invalid, close #11