taking the validation off the controller, validation is now in the model