HOUSTON, Texas — Trump rallies are political spectacles on a grand scale, and the scene in downtown Houston on Monday night was a spectacle worthy of ancient Rome.

Tens of thousands of people descended on the Toyota Center, some coming from as far away as California, many more from every corner of Texas, all driven by the chance to take part in what they consider to be an epoch-defining movement, a second American Revolution, a secular Great Awakening. To Trump’s base, these rallies are about much more than just getting out the vote for the midterms. They are about saving the country.

Strictly speaking, the rally was to support Texas Sen. Ted Cruz in his reelection bid against Democratic challenger and media darling Beto O’Rourke. But in fact the rally was a dress rehearsal for President Trump’s 2020 reelection campaign, which will be about nothing so much as the culture war. A nuclear culture war, if you like.

His supporters are up for it. The crowds began gathering here about 10 a.m. Sunday morning, and by sundown nearly 100 people had staked out their spot in line. They slept upright in chairs or on air mattresses laid out in the open. A few of them pitched tents. By Monday afternoon, the blocks surrounding the arena were a swirling mass of humanity decked out in Trump gear and American flags.

The streets, cordoned off into elaborate lanes, were lined with dozens of private vendors hocking Trump gear to the passing throngs. Camera crews from all over the world darted through the lines in search of the most flamboyant Trump fan they could find, and there were plenty. What seemed like an army of Houston police kept a relatively small band of protestors in their designated space, far from the arena.

By the time Cruz and the other speakers had come and gone, and Trump took the stage, it was obvious what the purpose of the rally was. In his meandering riff of a speech, Trump left no doubt: “This will be the election of the caravan, Kavanaugh, tax cuts and common sense.”

Trump 2020 Will Be Trump 2016 On Steroids

He was talking about the midterms, only two weeks away, but he was mostly talking about his reelection. If Trump’s tone and themes Monday night were any guide, 2020 will be like 2016 on steroids: over-the-top bragging about his accomplishments, relentless waging of the culture war, and vilification of Democrats and their policies as treasonous, “an assault on the nation’s sovereignty.”

Trump made sure to push every hot-button issue he could. Invoking the Brett Kavanaugh hearings, he declared that Democrats “want to replace the rule of law with the rule of the mob,” and said what they did to Kavanaugh “and his beautiful family was a national disgrace.”

Early on, he mentioned the caravan of some 5,000 Central Americans making their way through Mexico to the southern U.S. border, saying it includes “some very bad people,” and alluding to “unknown Middle Easterners” among them. Later, he said, “There’s a word you’re not supposed to use anymore, it’s call a nationalist. You know what I am? I’m a nationalist.”

He mercilessly attacked Democratic leaders, calling Rep. Maxine Waters a “low-I.Q. individual” and savaging Sen. Elizabeth Warren, whose recent DNA test revealed she has about as much Native American ancestry as the average white person. Warren, he said, “was exposed as a total fraud. I can no longer call her Pocahontas because she has no Indian blood. She doesn’t qualify.”

He also hit everything else, if only in passing: preserving religious liberty, respecting law enforcement, appointing judges who respect the Constitution, ensuring that schools teach children to be proud of their country. At the end of one such rant, as if to sum it all up, he declared, “We kneel in prayer and stand for the national anthem.” Of course the crowd went wild.

Trump’s Reelection Campaign Starts Now

There’s plenty about Trump’s message that should rightly appeal to conservatives, whether or not they particularly like the president himself. But at the rally Monday evening there was something else in his tone and in the air, something that wasn’t there two years ago. Trump is president now, and like all incumbents he’s at pains to defend his record, to tout his achievements, which are, in Trump’s telling, far more grandiose than what he promised.

“Two years ago it was all words, but now I’ve produced,” he said, rattling off some economic figures that the media, not understanding the purpose of what they were witnessing, immediately disputed on Twitter. “Some would say I produced more than I promised, which is true.”

But the crowd understood the purpose of the exercise—and they were game for playing along. They thrilled at every applause line, booed at every mentioned of the hated Democrats. At the mention of the “fake news media,” they thundered in unison, “CNN sucks!” for nearly a minute.

Some news reports Monday night claimed the stands were filled with mostly white people, which is strictly speaking true, but also misleading and, for a mainstream media committed to a certain narrative about Trump and Trump supporters, self-serving in the extreme. In fact, it wasn’t hard to spot black, Hispanic, and Asian Trump supporters scattered throughout the arena and milling about outside.

Alfred and Estella Hernandez, an Hispanic couple from Fort Bend County just outside Houston, said they both took the day off work to be there and wouldn’t miss it for anything. They’re fervent Trump fans, and deeply suspicious of the media. “You don’t hear this from the news, but why shouldn’t Hispanics vote for Trump?” Alfred asked. “I’m Hispanic, and I can tell you that there is a lot more support for Trump in the Mexican-American community than you might think.”

When Trump struck a nationalist note—“We are Americans, our hearts bleed red, white and blue. We are one people, one family, one glorious nation under God”—Alfred heard a message of inclusion. “This is the nationalism we need,” he said. The media, and certainly Trump’s Democratic opponents, heard something else entirely.

That yawning gap, along with the mass political spectacle staged Monday night, will define the electoral battle of 2020, which starts now.