Donald Trump’s personal history with Rudy Giuliani goes back farther than you would imagine. For over 30 years, they worked together on fundraising, political planning, and public relations damage control. Some of the highlights of their relationship are below.

Watch: The history of Trump and Giuliani

November 1987: The Washington Post reported that Donald J. Trump gave “assurances” to Rudy Giuliani that he would help him raise money if he decided to challenge then-senior U.S. Senator from New York, Daniel Patrick Moynihan:

Asked today whether he would help Giuliani raise money in the real estate world, Trump said: ‘If Rudy decides to run for public office, I hold Rudy in very high esteem and I would love to be helpful to Rudy.’

‘Rudy is a man who has tremendous talents,’ Trump said. ‘The development community should love Rudy because Rudy’s gone after organized crime and other things that adversely affect the development community.’

Fall 1989: According to reporting by Newsday in February 1990, Trump was the co-chair of Giuliani’s first major fundraiser in his unsuccessful 1989 New York City mayoral campaign.

June 2001: Discussing the then-outgoing New York City Mayor Giuliani’s apartment search, the Daily News reported:

‘I would be honored to have him live in any of my buildings,’ Donald Trump, who talks with Giuliani regularly, said in a statement yesterday.

December 2001: Giuliani flies to Israel aboard Trump’s luxury jet, claiming the flight was a “gift to the City of New York.”

January 2005: Giuliani attends Trump’s wedding to Melania Knauss.

July 2015: During the public relations fallout from Trump’s campaign announcement remarks, Giuliani defended the future president on Hannity:

Giuliani: ‘And here’s the reality. Donald, who I love — and I really mean it. I think he’s a great man. I think he’s a wonderful father. And he’s been terrific for America. Just think he got it reversed.’

Sean Hannity: ‘What do you mean?’

Giuliani: ‘Well, here’s what I mean. Most of the people coming over the bordermost of themare coming over to work. They’re working in California. They’re working in Texas. They’re working in New York. They’re working in the restaurants and most of the places around here.’

Watch: Rudy Giuliani’s contradictions

August 2015: New York Magazine reports, “According to a source close to the Trump campaign, Trump’s friend Rudy Giuliani called the Fox chief the other day and asked Ailes to make sure Megyn Kelly doesn’t go after Trump in her questioning.” The Trump campaign later denied the report.

September 2016: Giuliani is a top Trump surrogate in the spin room after the first Presidential debate in 2016.

November 2016: Giuliani is named a leading candidate and lobbies to be nominated for Secretary of State in the incoming Trump administration.

December 2016: Giuliani withdraws his name from consideration for Secretary of State in Trump’s cabinet, claiming he would like to remain in the private sector.

April 2018: Trump lawyer Jay Sekulow announces that Giuliani will join Trump’s legal team.

May 2, 2018: Giuliani “freestyled” on national TV, confirming that President Trump reimbursed Michael Cohen for his $130,000 hush money payment.

Watch: Rudy Giuliani vs. Michael Avenatti