added validations for all fields
created a more meaningful error message