done with directives