added proper model validations