works with directives
improving directives
IF!