topics.js refactor