More code. Add some buggy negotiation logic.