it'd be good to return the validation errors here