Added a bunch of validations to the model