refactor topic poll