Updated: June 21, 5:22 a.m. | Posted: June 20, 8:47 a.m.
Hours after he signed an executive order reversing course on his policy of separating migrant families at the border, President Trump was in Duluth for a campaign rally in front of more than 8,000 supporters.
While he touched on immigration, most of his wide-ranging hourlong speech was spent urging Minnesotans to vote for Republicans and promising to win the state when he runs for re-election in 2020.
Fact check: Trump's Duluth rally speech
Trump started the rally at the Amsoil Arena by bringing up his defeat in Minnesota in the 2016 presidential race.
"I thought I was going to do it, I needed one more visit, one more visit. One more speech."
In his first visit to the state as president, he made it clear he's not going to lose narrowly again in 2020.
"We came this close to winning the state of Minnesota, and in 2 1/2 years it's going to be really easy, I think."
Trump then got to the election at hand, warning that if Democrats seize control of Congress the progress he claims to have made on cutting taxes, reducing regulations and tougher trade deals could all be lost.
"They want to put on more regulations, they want to take back your tax cuts — which are massive — they want to take them back and they want to raise the hell out of your taxes and the whole thing will go boom."
He briefly touched on the executive order he signed earlier in the day ending the practice of separating children from their parents in cases when families have entered the U.S. without authorization. He accused Democrats of wanting "open borders," and said violence by people who are here illegally is harming U.S. families.
• Fact check: Trump overstates order on family separation
"What's happened to their children, what's happened to their husbands, what's happened top their wives. The media doesn't talk about the American families permanently separated from their loved ones because Democrat policies release violent criminals into our criminals. We need safety. We need safety."
In the 8th District where he has endorsed Republican candidate Pete Stauber, Trump also talked about protecting miners' jobs by cracking down on unfair trade. His tariffs are popular in this part of Minnesota that was built on iron ore mining and where some hope new copper-nickel mining will take hold.
While Trump campaigned for Stauber and mentioned Republican Senate candidate Karin Housley from the stage, he didn't take a side in the contested Republican primary for governor between Jeff Johnson and Tim Pawlenty. But he did mention Lt. Gov. Michelle Fischbach, who is Pawlenty's running mate. He said she had a big race in front her and that she would do well.
Trump repeatedly blasted reporters to the delight of the cheering audience. And the few times that opponents in the arena sought to shout him down Trump sounded delighted to mock them as he called for their removal.
"Is there anything more fun than a Trump rally?" he asked at one point.
Outside the arena hundreds of people protested the president and his policies. One of them was Roger Ronning, a retired Teamster from Duluth, who said he can't believe what's going on in the country.
Ronning said he's always believed in what America stands for and resents those who conflate patriotism with support for Trump.
"I want this country to be the way it should be," he said. "This is a democracy. This is not a dictatorship, and this is what he's turning it into. And it's all about him and nobody else, and I think it's disgusting."