Republican U.S. presidential candidate and former Governor Jeb Bush (R) speaks about businessman Donald Trump (L) as Senator Ted Cruz (C) looks on during the Republican presidential debate in Las Vegas, Nevada December 15, 2015. REUTERS/Mike Blake

To CNN’s credit, the first debate after the San Bernardino terrorist attack stuck almost entirely to national security. The debate was remarkably substantive, as Sen. Ted Cruz (R-Tex.) tried to defend “carpet bombing” while Sen. Marco Rubio (R-Fla.) attacked Cruz’s votes on the National Security Agency and defense funding. Candidates debated Syria policy and repeatedly skewered the Obama-Clinton foreign policy. Most noteworthy, Donald Trunp promised he would not make a third party run.

Jeb Bush, perhaps late in the game, was the most effective and forceful he has been, reeling off his policy to defeat the Islamic State and castigating Donald Trump for saying he’d go after terrorists’ wives and children. He chided Trump for getting his information from television morning shows. (“Saturday or Sunday,” he wisecracked.) He twice declared Trump was not going to “insult his way to the presidency.” It’s not clear what, if anything, he can do to turn around his poll numbers, but he showed himself to be a mature and informed candidate. Alas, he stumbled on his closing statement, again revealing his challenges as a candidate.

Sen. Rand Paul (R-Ky.) also perked up, mocking Trump’s plan to close the internet and violate international law by targeting innocents. His own isolationism lost the support of the crowd, and shockingly for a libertarian adopted an uber-tough anti-immigration stance.

New Jersey Gov. Chris Christie played the role of experienced adult, reminding voters that those criticizing people on the stage who decried the defense budget cuts but went along with defense sequester. Again and again he turned the discussion to the contrast between a governor/U.S. attorney and lawmakers. (“The fact is, for seven years I had to make these decisions after 9/11. Make a decision about how to precede proceed forward with an investigation or how to pull back, whether use [to] certain actionable intelligence or whether not to and yet they continue to debate about this bill in the sub-committee.”) He was serious and emphatic on setting up a no-fly zone in Syria, promising, if need be, to shoot down Russian planes.

Asked about a moral obligation to take in refugees,  Christie responded with a firm assertion that his job is to keep Americans safe, defending his plan to pause refugee entry until the FBI director says they can be vetted. In repeatedly bringing the argument back to President Obama and Clinton, he seemed to be auditioning for the general election debate. (“What reckless is, is calling Assad a reformer. What reckless is, is allowing Russia to come into Crimea and Ukraine. What reckless is, is inviting Russia into Syria to team with Iran,” he said when Rand Paul called him “reckless” in enforcing a non fly zone.) On China, Christie was likewise strong, accusing Obama and Clinton of refusing to respond to China’s cyber-attack.

Cruz tried his best to avoiding confronting Trump on any policy differences, part of his strategy to ingratiate himself with Trump’s followers. But in trying to have it all ways — supporting the USA Freedom Act that hampers the NSA (and falsely claiming the law improved our data-collection capabilities) and also supporting “carpet bombing” cities — he did little to satisfy the uproar from hawkish conservatives who have hammered him this week for incoherence on national security. He seems to think simply declaring he’ll destroy the Islamic State is sufficient. In that regard he is not unlike Hillary Clinton — brimming with empty rhetoric in search of a policy. In a glaring error, Cruz called for an “America first” foreign policy, a throw back to 1930s isolationism. For the first time in the debates he seemed to be on defense and straining to rewrite recent events. If the election comes down to national security he will need to study up and find an internally consistent approach to fighting the Islamic State.

Rubio was on his game and consistently corrected Cruz (e.g. for falsely claiming we toppled Gaddafi, for incorrectly claiming Cruz voted to improve the NSA metadata gathering program.) He demonstrates his fluency of national security in this debate to an extent few other candidates can match. He managed to let Cruz’s voters know Cruz supports vast expansion of H1-B visas and legalization (by an amendment to change the Gang of 8). Rubio repeatedly asked if Cruz would rule out legalization; Cruz demurred because he is not willing to round up illegals as Trump does. (“I don’t intend to favor legalization,” he said in unmistakable weasel words.) Cruz did not bother to deny he favored a large increase in high-skilled visas. If Rubio was trying to sow doubts about Cruz’s fidelity to the anti-immigrant agenda he succeeded. It was Cruz’s worst exchange in a debate so far.

Trump engaged in a mish-mash of misinformation and bizarre assertions (e.g. claiming Russia is fighting the Islamic State, “shutting” down the internet), without bothering to lay out a reasoned policy. Asked about the nuclear triad, Trump seemed confused, and began to ramble. Instead he simply asserted he is “strong,” which seems to suffice for his fans (a group in which less educated voters predominate). He is not giving any reassurance to the rest of the GOP that he could carry out the duties. He did, however, say he would not run as a third party candidate.

Winners: Jeb Bush, Chris Christie, Marco Rubio, CNN (for tough, substantive questions on foreign policy)

Losers: Trump, Cruz, Dr. Ben Carson (who seemed barely there)