improve dependencies, make broker creation idempotent