collect validation errors in defaults instead of throwing exceptions
a little more robust defaults