refactor core directives/services into submodules