refactor to reuse same topic object