As President Donald Trump took the stage in El Paso, Texas, to advocate for his border wall, Beto O’Rourke, the Texas Democrat who came close to unseating Sen. Ted Cruz and is weighing a presidential bid, held his own event across the street to deliver the opposite message.

The counterprogramming from the former El Paso Congress member had a clear message: The president is wrong on immigration.

“We have so much to give, so much to show the rest of the country,” O’Rourke said in front of thousands in El Paso after joining a mile-long march down the border. “Here, a city that has been one of the safest in the United States of America for 20 years and counting. ... Walls do not save lives. Walls end lives.”

O’Rourke, who gave up his House seat to run for the Senate last year, has spent the past couple of months pushing a social media campaign against Trump’s immigration agenda, highlighting how Mexicans and Americans peacefully share the border region to grow the economy and build a united culture.

He’s interviewed immigrants and children of immigrants on his Instagram and Facebook page — the most viral of which was his dental hygienist — and opposes more physical barriers.

And while O’Rourke’s 2020 ambitions remain unclear, his positioning on this issue has kept him in the national spotlight. And now with Trump in his hometown, he had the chance to spar with him on policy head-on — or rather, from across the street.

Beto fact-checked Trump live

With the backdrop of the US-Mexico border, Trump used El Paso to support his border wall policy — the reason he shut down the government for more than a month in December and January — and try to scare Americans about the dangers of violent criminals coming over the border.

O’Rourke decided to serve as Trump’s fact-checker on the border.

“The US cities of the Mexican-American border are much safer than the US cities in the interior of the United States of America,” he said.

O’Rourke’s comments are based on some statistical facts about immigration:

Just last week in his State of the Union speech, Trump specifically called out El Paso.

“The border city of El Paso, Texas, used to have extremely high rates of violent crime — one of the highest in the country, and considered one of our nation’s most dangerous cities,” Trump told Congress. “Now, with a powerful barrier in place, El Paso is one of our safest cities.”

O’Rourke and the mayor of El Paso, Dee Margo, dispute this account. The facts are on their side.

El Paso has consistently had the second-lowest violent crime rate of similarly sized cities, a ranking it received both before and after a partial fence was built along the border in 2008. Despite what Trump said, it has never been one of the most dangerous cities in the United States.

O’Rourke might run for president

When O’Rourke challenged Cruz for his Senate seat — a race he lost by slightly more than 2 points, an astonishingly close margin for a Democrat in Texas — he was catapulted to a national platform.

Now he’s a possible 2020 candidate, something he told Oprah Winfrey in a recent interview that he’s currently considering. He consistently ranks among the top five Democratic contenders in early 2020 polls.

In many ways, O’Rourke came out of nowhere. He was a backbench Democrat who rarely engaged in the big fights in Congress. But he ran an unconventional 2018 Senate run, relying on grassroots energy and going to even the most conservative counties in Texas. He continuously out-fundraised Cruz, became a poster boy for the blue wave across the country, and drew media attention from national celebrities like Stephen Colbert and Ellen DeGeneres.

He certainly got Trump’s attention.

“Beto O’Rourke is a total lightweight compared to Ted Cruz, and he comes nowhere near representing the values and desires of the people of the Great State of Texas. He will never be allowed to turn Texas into Venezuela!” Trump tweeted in October.

After O’Rourke lost, Trump continued to hit him, saying, “He lost and he wants to run for president. I thought you had to win to run for president.”

And in standing in O’Rourke’s hometown of El Paso, Trump took another swing at the former Congress member, this time comparing crowd sizes.

“A young man who’s got very little going for himself, except he’s got a great first name. … He challenged us,” Trump said at the Monday night rally, going on to falsely characterize the number of people in the audience. “So we have, let’s say, 35,000 people tonight. And he has 200 people, 300 people. Not too good.”

Trump continued, “In fact, what I’d do, what I would say is that may be the end of his presidential bid.”