For indispensable reporting on the coronavirus crisis, the election, and more, subscribe to the Mother Jones Daily newsletter.

In March 2018, Rudy Giuliani met in Manhattan with a delegation of lawmakers from Kharkiv, a city of 1.4 million in eastern Ukraine. Giuliani, who joined President Donald Trump’s legal team a few weeks later, was at this gathering because, Giuliani says, his security firm agreed in 2017 to help the city improve its emergency services and seek foreign investment.

But the deal had a murkier element. Giuliani later conceded that he wasn’t just working for Kharkiv and that for at least some of the work he was paid by Pavel Fuks, a Kharkiv-born business executive who became a prominent real estate developer in Moscow in the 2000s and who has said that he negotiated directly with Trump between 2004 and 2010 about building a Trump-branded tower in Moscow. Fuks was one of several Ukrainians with Russian ties whose attendance at Trump’s presidential inauguration was investigated by former special counsel Robert Mueller. So at the start of Trump’s presidency, Giuliani was hobnobbing with at least one Ukrainian player who would be tainted by scandal.

Giuliani’s dealings in Ukraine exploded into public view this month, with the revelation that Trump pressured the country’s new president, Volodymyr Zelensky, to work with Giuliani and Attorney General William Barr to dig up dirt on former Vice President Joe Biden and information to discredit Mueller’s probe. A complaint filed by an intelligence community whistleblower that triggered this new Trump scandal depicted Giuliani as a Trump henchman prowling Ukraine for negative material Trump could use against Biden. But the former New York mayor’s involvement in Ukraine and other former Soviet bloc countries has been more extensive and even more sketchy than these disclosures indicate.

The New York meeting and an earlier trip Giuliani trip took to Kharkiv in November 2017 were arranged by TriGlobal Strategic Ventures, the firm says on its website. TriGlobal, which claims to have offices in New York, Moscow, and Kiev, sells itself as an international business consultancy that does public relations work for clients in Russia and Ukraine. The firm also brags that it has worked with Giuliani since 2004, arranging trips for him to former Soviet states. Last October, Giuliani took a break from his work representing Trump to speak about cybersecurity at a conference TriGlobal organized in Armenia to promote a Russia-led economic bloc, the Eurasian Economic Union. Giuliani appeared at the event alongside a Russian official, Sergey Glazyev, who was sanctioned in March 2014 for his role in the annexation of Crimea and who has been accused of advancing anti-Semitic conspiracy theories about Ukraine, an accusation he’s denied. Giuliani was reportedly invited to a conference by Russian Armenian multimillionaire Ara Abramyan, a member of TriGlobal’s board, who reportedly suggested at the time that he expected Giuliani to deliver a message for him to Trump.

On Friday, the Washington Post reported that Giuliani planned to participate in a panel led by Glazyev at the same conference in Armenia this year. Giuliani canceled his plans to attend after the Post‘s report. He said he decided not to attend after learning that Russian President Vladimir Putin planned to go. “If Putin’s going it’s easy,” he said in a text.

These gigs form part of Giuliani’s lucrative post-mayoral career as a roving international security consultant and high-priced lawyer. That career has continued, even after Trump brought Giuliani onto his personal legal team with a mandate to take a combative approach against Mueller’s investigation. Giuliani provides not only pro-bono legal assistance for Trump, but, he says, political advice, and reportedly he acts as somewhat of a personal emissary for the president. All the while, Giuliani has shrugged off questions of whether clients, including foreign interests, are paying him and his firm as he functions as Trump’s consigliere. And he has refused to comprehensively identify his clients. He claims that he does not need to register as a foreign agent with the Justice Department under the Foreign Agents Registration Act—which would require him to disclose details of his work for overseas clients—because he does no lobbying in the United States for foreign entities and instead merely provides security advice to any client he has abroad.

But at least one former client disputes Giuliani’s claims about his work. “I would call him the lobbyist for Kharkiv and Ukraine—this is stated in the contract,” Fuks told the New York Times in March. “It is very important for me that such person as Giuliani tells people that we are a good country, that people can do business with us. That’s what we would like to bring to America’s leaders.” Neither Giuliani nor Fuks has made their contract public. Giuliani has declined to say what he and his firm were paid for the work.

Seven Senate Democrats, including Elizabeth Warren (D-Mass.), pressed the Justice Department this week to investigate whether Giuliani is violating foreign lobbying law. “Like any other American, Mr. Giuliani has legal obligations to report his work on behalf of foreign clients,” they wrote, “and the Department of Justice should not give him preferential treatment or exempt him from his obligation just because he is the President’s personal attorney.”

Giuliani conducted other business in Ukraine while working for Kharkiv and Fuks. In June 2017, Giuliani traveled to Kiev where he reportedly met with then-President Petro Poroshenko, Prosecutor General Yuriy Lutsenko, and other government officials. Giuliani also spoke on “democracy” and the “rule of law” at a conference organized by the foundation of Ukrainian metals magnate, Victor Pinchuk—an oligarch whose 2016 payment of $150,000 to Trump’s charitable foundation drew scrutiny from Mueller. Giuliani, who in 2006 reported receiving up to $200,000 per speech, has declined to say how much he he was paid for that presentation. It’s unclear if these activities had any connection to Giuliani’s deal with Fuks and Kharkiv.

In a text message Thursday, Giuliani said his work in Ukraine in 2017 was unrelated to his recently revealed activity. “My business in Ukraine ended in Dec. 2017,” he wrote. But Giuliani’s involvement in the country continued after he became Trump’s lawyer in April 2018.

In May 2018, Ukrainian officials stopped investigating payments to Trump’s former campaign chair Paul Manafort and dropped an offer to assist with Mueller’s prosecution of him. Ukrainian officials told the New York Times they feared helping Mueller would anger Trump, potentially complicating their purchase from the United States of antitank weapons aimed at deterring Russian aggression. This week Giuliani insisted in a text message to me that he did “not know anything about” that move.

At some point in 2018—the exact date is unclear—Giuliani began working on Ukraine-related matters with two Soviet-born American business executives, Lev Parnas and Igor Fruman. Giuliani has said they’re his clients, though his work for them appears indistinguishable from his efforts on Trump’s behalf. In a text message on Monday, Giuliani declined to comment on this work, citing attorney-client privilege. Parnas and Fruman did not respond to inquiries.

According to a joint investigation by the Organized Crime and Corruption Reporting Project (OCCRP) and BuzzFeed News, it was Parnas and Fruman who first encouraged Giuliani’s effort to dig up dirt on Biden. Both Parnas and Fruman, who live in South Florida, became big GOP donors in 2018, giving at least $576,500 in combined donations over several months. They used the resulting access to powerful Republican figures to promote a plan to sell American liquified gas to Ukraine. In May 2018, the duo dined with the president at the Trump International Hotel and had breakfast in Beverly Hills with Donald Trump Jr. and Tommy Hicks Jr., who later became co-chair of the Republican National Committee, according Facebook posts by Parnas, which he later deleted. It is unclear if Giuliani was helped connect them with Trump.

According to the OCCRP/BuzzFeed News report, Parnas and Fruman organized a late 2018 Skype call between Giuliani and Viktor Shokin, the prosecutor whose firing was pushed by Biden and many European diplomats in 2016. Shokin was ousted for blocking anti-corruption probes, but Giuliani and Trump have asserted that Biden sought Shokin’s dismissal to protect his son, Hunter Biden, who sat on the board of a Ukrainian gas company, from investigation. There is no evidence to support that claim.

But Shokin, not surprisingly, was apparently eager to help smear Biden. Parnas claims that he and Fruman put Giuliani in touch with Shokin’s replacement, Yuriy Lutsenko, late last year. Giuliani and Lutsenko met in New York in January 2018 and in Poland in February, according to the OCCRP/BuzzFeed News report. Giuliani told the Washington Post that he has met with five current and former Ukrainian prosecutors overall, including Shokin and Lutsenko, since last year.

Shortly after their get-togethers, Lutsenko and Giuliani began pushing allegations in the US media about Biden and claiming Ukrainian officials interfered in the 2016 election to help the Hillary Clinton campaign. Many of these claims ended up in articles written by Hill opinion writer John Solomon, whose reports were amplified by Fox News and other conservative media and by Trump—but his reports have largely been debunked. Ukrainian anti-corruption activists claim Shokin and Lutsenko were promoting phony accusations, and Lutsenko later withdrew many of his claims. Daria Kaleniuk, the head of a Ukrainian anti-corruption group, contends that Lutsenko issued allegations to please Trump in a bid to keep his job.

“I was investigating, going back to last year, complaints that the Ukrainian people, several people in Ukraine, knew about a tremendous amount of collusion between Ukrainian officials, and Hillary Clinton, and the Democratic National Committee,” Giuliani claimed last week on CNN. These accusations promoted by Giuliani have been embraced by Trump’s Justice Department and Attorney General William Barr. On Wednesday, the Justice Department said that a probe initiated by Barr and run by a US attorney, John Durham, is “exploring the extent to which a number of countries, including Ukraine, played a role in the counterintelligence investigation directed at the Trump campaign during the 2016 election.” (The nature of this probe is unclear. Ukraine was not involved in the initiation of the FBI’s investigation of the Russian attack on the 2016 election and the interactions between the Trump campaign and Russia.)

According to the Washington Post, since Zelensky took office in May, Giuliani has sidelined the State Department and helped force the firing of the US ambassador to Ukraine, Marie Yovanovitch, whom he accused, seemingly without evidence, of “collusion” and of “working for” liberal financier George Soros. Trump’s request that Zelensky help Giuliani unearth negative information on Biden has received lots of attention. Zelensky agreeing to do so has received less notice. According to the whistleblower’s complaint, Giuliani met with a Zelenksy adviser on August 2 in Madrid to follow up on “cases” discussed in the July 25 phone call.

Giuliani’s role, particularly his work in Ukraine in 2017 and 2018, has not been fully explained. The whistleblower complaint alleges that Giuliani has been “a central figure” in Trump’s covert effort to use his power to press Ukraine to help tilt the 2020 election in his favor. An unnamed US official quoted by the Post made a similar claim: “Rudy—he did all of this,” the official said. “This shitshow that we’re in—it’s him injecting himself into the process.”

Asked about his work in Ukraine, Giuliani, in a series of texts, called the issue “bull distraction.” Not enough is publicly known yet to back up Giuliani’s this-is-a-distraction defense, or to assess whether Giuliani’s actions in Ukraine will ultimately help Trump or cause him more difficulty in a scandal that has led to an impeachment inquiry.