validations of preconditions