After his first four weeks in office, Donald Trump left the the White House for Florida, where he soaked up the cheers of thousands of adoring fans. It has not been an easy month for Trump, with a federal judge blocking his travel ban, the resignation of his national security advisor, Michael Flynn, and the constant intelligence leaks. But Saturday was a chance to move beyond that, to lay out his agenda and air his grievances in the campaign-rally style he seems to enjoy most.

Trump spent his third weekend in Florida, at his Mar-a-Lago resort, which he has now taken to calling the “Southern White House.” He was working again, interviewing candidates for the role of national security advisor, which Flynn left earlier this week after it was reported that he’d misled Vice President Mike Pence about his conversation with the Russian ambassador. That was just the latest episode in a tumultuous start for Trump. Amid reports of constant squabbles in his inner circle, Trump seems to be increasingly frustrated with the bureaucracy and the judiciary, which he has complained seem bent on opposing his agenda. The campaign trail, on the other hand, is where Trump has always seemed happiest, ad-libbing in front of a crowd that cheers his every word.

“I want to be among my friends,” Trump told the crowd Saturday evening, “and among the people.”

The rally began a little after 5 p.m. with a succession of surrogates firing up the crowd, repeating Trump’s campaign slogans to put America first, and to keep the country safe by keeping certain people out. Nearly an hour later Air Force One pulled up in front of the hangar like a limo at a red-carpet event. A jet bridge motored toward the plane’s door, and down stepped Trump and the first lady.

She opened the rally by reciting the Lord’s Prayer. Shortly after Trump took over, stepped in front of the mic and told the crowd why he’d come: “I want to speak to you without the filter of the fake news—the dishonest media which has published one false story after another.”

That was a major theme of the rally. The road bumps he’s hit, he seemed to be saying, were either unscrupulous lies invented by the media, or are part of its agenda to attack him. The media has its own agenda, he said, “and it’s not your agenda.”

He had a prepared text, and at times he stuck to the script, which listed all the policies he’d tried to implement in his first 30 days in office. He talked most about the travel ban, which a federal judge in Seattle has blocked. As he has before, Trump said that it was wrong for a judge to be able to limit his power to deny certain people—people Trump has called potentially dangerous—entrance into the country. But in keeping with his style, he often deviated from his prepared remarks, usually to castigate the press, which he called “part of the corrupt system.”  He even read from a note Thomas Jefferson sent to a newspaper editor and senator from Michigan, John Norvell. “Nothing can now be believed which is seen in a newspaper,” Trump quoted Jefferson saying. “Truth itself becomes suspicious by being put into that polluted vehicle.”

(Before he ascended to the presidency, Jefferson wrote: “And were it left to me to decide whether we should have a government without newspapers, or newspapers without a government, I should not hesitate a moment to prefer the latter.”)

Trump, as he has ever since inauguration day, also complained that the media seems bent on minimizing the size of his fan base. So he made sure to point out what “a massive hangar” hosted the rally, and that a huge crowd was jam-packed inside it. But, he complained to the bank of cameras broadcasting the event around the world, the media would never show how many people turned up to his rally. “Do you think one media network back there will show this crowd?” he asked to raucous cheers. “Not one!”

Then Trump recognized a man in the crowd. It was someone he’d seen earlier, he said, one of his supporters interviewed on TV. The man, who CNN identified as Gene Huber, said earlier that he’d arrived at the hangar at 4 a.m. to make sure he was the first in line. Trump told him to come on stage, directing him to hop the fence and waving him past Secret Service. “He’s been all over television, saying the best things,” Trump told the crowd, which burst out in applause.  

On stage, the man spoke briefly and fawningly about Trump and the great movement he had created. Trump smiled.  

Trump did take some time to talk about the policies he hoped implement. He said he would revoke Obamacare and replace it with something better, that costs less—although he did not go into any details. He said he planned to repeal regulations placed on oil, gas, and coal companies. “The miners are going back to work!” Trump said. He also promised to bring back jobs, then talked about how he’d already forced GM, Ford, and Chrysler to pull out of deals that would’ve shipped jobs out of the country—although the details of those deals are more complicated. He also mentioned a new Intel plant set to open in Arizona that would create 10,000 jobs. That factory has been under construction for several years, but Intel’s CEO announced it would invest $7 billion into the plant that would create even more positions right after a meeting with Trump earlier this month. These portions of the speech largely reiterated points Trump has repeatedly emphasized, including in his most recent press conference.

But he also took the opportunity to unburden himself of the many grievances he’s built up in his first 30 days as president. The energy of the crowd seemed to recharge Trump. He returned to his campaign-trail form, standing behind the podium and in front of thousands of people who loved him, and not in Washington D.C. before a room packed with the lying, dishonest press.

Trump closed out the rally the way he always did last summer, with his vow to make America great again. Then he walked back to Air Force One, with the Rolling Stones’ “You can’t always get what you want” playing in the background.