normalized pubsub