Refactor, use broker