refactor topic module...