prepared for pubsub + mqtt