cap 5 - pubsub