req
add pubsub module