alter directives logic