extract directives to separated module