Former congressman Joe Walsh (R-IL) is preparing a primary challenge to President Donald Trump.

According to the Washington Post, Walsh said he expects to announce his bid next month. An immigration hawk, he intends to run to Trump’s right and wield a moral message.

“He’s a bully and he’s a coward,” Walsh said. “Somebody’s got to punch him in the face every single day.”

Walsh, who was swept into Congress on the Tea Party wave of 2010, wrote an op-ed in the New York Times a few days ago, hinting at the need for a primary challenger and alluding to his own controversial history.

“In Mr. Trump, I see the worst and ugliest iteration of views I expressed for the better part of a decade,” he wrote. “To be sure, I’ve had my share of controversy. On more than one occasion, I questioned Mr. Obama’s truthfulness about his religion. At times, I expressed hate for my political opponents. We now see where this can lead. There’s no place in our politics for personal attacks like that, and I regret making them.”

Walsh, a mainstay on cable news during his one term in office, was a constant critic of President Barack Obama and inclined to make offensive comments, including that young male Muslim immigrants should be “profiled” and that “advances in science” have rendered abortion exceptions unnecessary.

He has since become an ardent Never Trumper, tracing his disenchantment to the Helsinki summit with Russian President Vladimir Putin in 2018.

Others considering a primary challenge to Trump include former congressman Mark Sanford (R-SC) and former Ohio Gov. John Kasich, both of whom say they’ve been courted more intensely lately, as economic forecasts foretell a coming recession.

Former Massachusetts Gov. Bill Weld is the only Republican to formally announce his bid so far.