Carly Fiorina, who almost didn’t make the stage tonight but for a last-minute uproar and change in CNN’s formula, certainly proved she deserved to be there. Much of the post-debate buzz has been about her performance, which improbably met the very high expectations set by her last performance. She also became the first candidate to make the leader, Donald Trump, blink or waver for even a second. But in the face (see what I did there?) of her short and sweet retort to his comments about her appearance, Trump responded by sheepishly backing off his comments and praising her looks, which left Fiorina understandably steely and unmoved.

Trump fans and critics alike will agree that, at this point, a key to making any headway in this race for anyone but Trump is to steal a little of his buzz from him, and Fiorina did that tonight, by the numbers. She landed the two most viral clips of the debate— one was about the “faces” comment, but the other was her substantive and passionate answer on Planned Parenthood.

When she started saying she was going to bring together Iran and Planned Parenthood in one answer, I got worried, but she really made that work.

I thought Marco Rubio was a close second, turning in a strong, knowledgable performance and benefitting from the juxtaposition of his in-depth foreign policy answers to Trump’s blustery ones. I also very much enjoyed his answer on learning about the American dream from his grandfather, who spoke his native language of Spanish. It was personal and sweet, and added the until recently uncontroversial notion that free-market, conservative values benefit everyone and we should therefore make an effort to communicate about them to everyone. If that happens to be without the need for a translator, great.

All that being said, Carly’s last performance got her buzz but not as much movement in polls as it might have warranted. And, Rubio did well last time, too, and got exactly nothing from voters as a result— many of whom might be unwilling to forgive him his transgressions on the issue of immigration, especially in this climate.

As for the leader of the race, I thought Trump was about as Trump as he normally is. He did not demonstrate in-depth knowledge or any difference in tone, and he doesn’t need to. The only difference for Trump tonight was he faced a more effective opponent in Fiorina. I doubt he did anything that hurt himself in any real way, though there’s a certainly a chance Fiorina could peel off a bit of his support. This is also fabulous, and is exactly the kind of thing that makes Trump the media magnet he is:

An interesting bit of data on that point from Kristen Soltis Anderson, who was conducting a focus group of young Republicans during the debate:

Trump got lots of time, partly because the moderators were so interested in asking him about all of his dust-ups with fellow candidates, but he was less the star of this debate than the last because the others had stepped up their game. There were times in the second hour when he was silent for surprisingly long periods of time.

Fiorina and Carson, the other outsider, gained the most Twitter followers tonight, with Trump coming in third. But Jeb Bush might have the most retweeted tweet by the end of the night, for this apology to Barbara Bush for discussing his pot-smoking on national television:

Speaking of Bush, I find him entirely underwhelming. I thought most of the candidates on stage improved their performances over last time, and Bush did improve, but the punches don’t land and the diction is too hesitant and Romney-an. Unlike Fiorina, he did nothing to deflate Trump but he also did nothing that might hurt him terribly. It was a miscalculation to ask Trump to apologize to his wife. Of course Trump’s not going to do that, it makes Bush seem tattle-taley (even if Bush is right about bringing Columba into a political fight), and he ended up having to move on without an apology. His best moment probably came when defending the legacy of his brother, which while sincere and strong, doesn’t help with the part where everyone associates him with his brother.

Carson does not impress in a traditional debate scenario and probably won’t. He still comes across as kind, rational, calm and occasionally charming, which is what people like about him. His knowledge seemed very shallow on some of the subjects tonight, and his style of speaking suffers in a pugilist arena like this. He didn’t have one dynamite answer, as he did in the last debate, and he was once again fairly quiet, but that doesn’t mean the people on the ground who like him in Iowa are going to stop liking him. He may drop a bit, but after the reaction to a pretty similar performance in the first debate, I wouldn’t bet on it. I missed it, but Charles Krauthammer mentioned he called Trump an “okay doctor” during the vaccine discussion, which is pretty darn funny.

Christie, on the other hand, is a man who can get plenty pugilistic and did tonight. I thought his performance was most improved, but many of his moments came in the second half of the debate when no one’s watching. At one point, he blew a whistle on the bickering about business records between Trump and Fiorina, turning focus back to the middle class from the two CEOs going after each other. It was an answer that started out with real heart (and tested well in the Luntz focus group, for what it’s worth), but took a wrong turn at some point and got a little too harsh to let the heart shine. Frankly, I don’t think he’ll likely benefit, but it was a better performance.

Cruz had a good performance when he was talking, and I wish he’d just jump in more. Unfortunately, because there are 11 people on stage, making oneself heard is one of the skills needed, and several of the other candidates showed you could roll Jake Tapper into giving you more time. At any rate, when he spoke, he was commanding and authoritative, and he tried valiantly to get an answer in on climate change when Tapper decided to box him out.

But when it comes to being heard, Cruz is excelling next to Gov. Scott Walker. I thought Walker might have fundamentally changed his approach when he came out swinging pretty hard. He had a couple solid lines and was pushing back on Trump and Tapper alike. But by mid-debate, he was quiet and quiet for far too long, which leads to less focused word-salad answers later in the debate as one tries to fit in all the thoughts one did not express earlier. Still, a better performance than last debate and still a long hill to climb back to the top of the heap.

And, finally, Gov. John Kasich, Sen. Rand Paul, and Gov. Mike Huckabee. I am totally perplexed about why Kasich spent long minutes explaining why he would not rip up the Iran deal, which does not feel like the way to appeal to this audience. Huckabee didn’t have many memorable moments and was marginalized for much of the debate, but he had an occasional Huckabeean turn of phrase I appreciated, and his Kim Davis answer will please his base. Paul, whose libertarian-leaning views I think are important to the party and to the debate, is not serving them particularly well right now. Again, an improvement over the last debate, but still not hitting his stride. He needs to embrace the Lindsey Graham ethos of tonight— let go of the idea that you’re going to win the nomination, and communicate the hell out of your issues with fun and wild abandon.