validations, exceptions