refactor directives...
refactor topic service