Refactor negotiator