Validators now throw exceptions rather than return errors