add pubsub module. missed in last commit