refactoring directives