works with directives
improving directives