constructor makes bad dates if passed undefined