should the crazy validation be on the model as we'd want to do the same validation on register?