implemented validations