broadcast and deduplication works
use a queue