refactor
refactor to eliminate `readtopic()`