distinct async or serial
add topic related functions
use serial version write
Merge distinct-serial-or-concurrent branch