restructured the negotiation algorithm. fixed violated spec not printed out