better separation of directives