directives explained