Squint and it could be 2016. Donald Trump on a campaign stage, ad-libbing his way through an 80-minute speech as his supporters go wild.
Crowd members chanting "lock her up" at every mention of Hillary Clinton and booing the "fake news" media. "Make America Great Again" hats are everywhere. The only giveaway is the podium, which now sports a presidential seal.
Trump has returned to where he feels most at home - on the campaign trail. With the Midterm elections three months away, he is ramping up his engagements for members of Congress. He has attended three swing-state rallies in five days - in Florida, Pennsylvania and Ohio yesterday. A special election will be held on Wednesday in an Ohio district Trump won by 11 per cent in 2016.
In Columbus, Ohio, Trump steered clear of the trouble he stirred up when he blasted one of Ohio's favourite sons, LeBron James.
Trump had derided the intelligence of one of America's most prominent African-American men. The attack on James, who has been critical of Trump, came just as the NBA superstar opened a school for underprivileged children. First lady Melania Trump distanced herself from the broadside, which resembled a racial dog whistle, and praised James' efforts. Trump used similar rhetoric attacking Democrat congresswoman Maxine Waters, who is also black. He called her "an extremely low IQ person."