follow enhancers -> directives refactoring