A cornerstone of President Trump’s impeachment defense is the argument that his administration delayed the release of congressionally appropriated military assistance to Ukraine because of his concerns about corruption in that country. Another is that the articles of impeachment being considered by the Senate don’t deal with illegal conduct.

But a decision released Thursday by the nonpartisan Government Accountability Office (GAO), a federal agency that oversees the use of taxpayer funds, undercuts both of these specious defenses: It explains in detail why the hold was unlawful, and it further illustrates that the White House knew — or should have known — that the hold was illegal, but went ahead and did it anyway.

GAO’s decision was immediately disputed by the Trump administration, but the law is clear. As the decision states: “The Constitution grants the President no unilateral authority to withhold funds from obligation.” Through the Impoundment Control Act (ICA), Congress has provided a limited set of circumstances in which a president can delay funding. But, as GAO noted, the White House Office of Management and Budget (OMB) “did not identify … any contingencies as recognized by the ICA, savings or efficiencies that would result from a withholding, or any law specifically authorizing the withholding.”

Administration officials outside the White House didn’t need to wait for a formal finding by GAO to recognize these issues and raise them. Laura Cooper, a Defense Department official responsible for Ukraine policy, told members of Congress that when the hold was announced at a July 26 interagency meeting, senior officials immediately “began to raise concerns about how this could be done in a legal fashion.” In a July 31 meeting, Cooper testified, she pointed out that “there were two legally available mechanisms should the President want to stop the assistance” and that in either case, “there would need to be a notification to Congress.” The White House did not pursue either option that she outlined, and Congress wasn’t notified.

In early August, Cooper had a telephone conversation with Michael Duffey, the Trump appointee at the Office of Management and Budget who was implementing the hold, to explain that if the hold continued much longer, “we won’t be able to” spend the money, because the appropriation would expire. But the White House continued to hold up the aid.

Elaine McCusker, the Pentagon’s acting comptroller, also raised the alarm in emails that were published by Just Security this month.

On Aug. 26, McCusker emailed Duffey to ask the status of a congressional notice requesting authority to stop the funding. Duffey answered: “I am not tracking that. Is that something you are expecting from OMB?” to which McCusker replied, “Yes, it is now necessary.” She followed up again later to say that the White House’s continued hold had “put our ability to execute at risk.”

The next day, McCusker again emailed Duffey with her concerns. She included a draft letter from the Department of Defense stating that “we have repeatedly advised OMB officials that pauses beyond Aug. 19, 2019 jeopardize the Department’s ability to obligate USAI funding prudently and fully, consistent with the Impoundment Control Act.” The letter also said “imposition of any further delays” will “trigger the ICA’s requirement to transmit to Congress a special message proposing rescission or deferral of funding.” For a Pentagon budget official, this was about as explicit as she could be; continuing the hold was illegal.

But the White House once again ignored the warning and refused to notify Congress.

Even OMB tacitly acknowledged these legal concerns. In an email sent to Pentagon officials on July 25 — the same day as Trump’s now-infamous “do us a favor, though” call with Ukrainian President Volodymyr Zelensky — Duffey seemed to hint that the White House knew the hold on aid was problematic, saying, “Given the sensitive nature of this request, I appreciate you keeping that information closely held.”

Then, in August, at the behest of the Defense Department, OMB stopped claiming in the documents implementing the hold that “this brief pause in obligations will not preclude DOD’s timely execution of the final policy determination.”

And eventually, as Congress started to raise concerns, the White House sought to shift responsibility: On Sept. 9, McCusker informed Duffey that “the amounts identified as not being able to ‘fully’ obligate by the end of FY total ~120M based on the current hold.” Incredibly, in response, Duffey said, “If you are unable to obligate the funds, it will have been DoD’s decision that cause any impoundment of funds.”

In other words, despite numerous warnings from the Defense Department, now OMB was looking to blame the hold on the Pentagon. McCusker’s reply to Duffey said it all: “You can’t be serious. I am speechless.”

Acting White House chief of staff Mick Mulvaney — who is also OMB director — all but admitted in his October news conference that the administration was aware it was acting outside the law: “We knew that money either had to go out the door by the end of September or we had to have a really, really good reason not to do it.” But the money didn’t go out the door on time, and, as GAO’s investigation shows, OMB couldn’t provide a “really, really good reason,” let alone a legally permissible one.

So why persist in the hold, despite knowing it was illegitimate? Because this was never about fighting corruption. It was about Trump leveraging taxpayer-funded military aid to advance his own agenda.

Now, the rest of us have GAO’s confirmation that this was illegal. For the White House, this is no surprise.