Months ago, news reports said Cohen would claim that Trump was aware of the meeting. His testimony offered a vague description—too vague to really assess:

I remember being in the room with Mr. Trump, probably in early June 2016, when something peculiar happened. Don Jr. came into the room and walked behind his father’s desk—which in itself was unusual. People didn’t just walk behind Mr. Trump’s desk to talk to him. I recalled Don Jr. leaning over to his father and speaking in a low voice, which I could clearly hear, and saying: “The meeting is all set.” I remember Mr. Trump saying, “Ok good … let me know.”

Cohen’s explanation of his lies to Congress may not satisfy all listeners, either. A blockbuster BuzzFeed report in January said Cohen had told investigators that Trump instructed him to lie. In his testimony, Cohen said that Trump did coerce him into lying, but that he was too savvy an operator to do so in explicit terms.

“Before going further, I want to apologize to each of you and to Congress as a whole,” Cohen wrote. “The last time I appeared before Congress, I came to protect Mr. Trump. Today, I’m here to tell the truth about Mr. Trump.”

But as Cohen acknowledged, “Mr. Trump did not directly tell me to lie to Congress. That’s not how he operates.”

Cohen said that in conversations during the campaign, while he was negotiating in Russia on Trump’s behalf, Trump would ask him for updates yet would also “look me in the eye and tell me there’s no business in Russia and then go out and lie to the American people by saying the same thing. In his way, he was telling me to lie.”

As a longtime Trump lieutenant, working for him for a decade at the Trump Organization, Cohen also offered an unusual look into Trump’s private life. He said that Trump asked whether any country run by a black person was not a “shithole” and said that blacks were “too stupid” to vote for him. More broadly, Cohen summed up Trump’s character: “He is capable of behaving kindly, but he is not kind. He is capable of committing acts of generosity, but he is not generous. He is capable of being loyal, but he is fundamentally disloyal.”

Yet as Cohen himself noted, his testimony is suspect. He has pleaded guilty to lying to Congress and to bank fraud and tax evasion. The White House has repeatedly said Cohen is not to be believed, most recently in a statement ahead of this week’s testimony. The president called him a “rat,” a Mafia-inflected term that, intentionally or not, seems to confirm that Cohen knows something damaging about him.

Jeffrey Goldberg: Trump’s Mafia mind-set

Trump’s allies have also attacked Cohen. In an astonishing tweet, since deleted, Representative Matt Gaetz of Florida said on Tuesday, “Hey @MichaelCohen212—Do your wife & father-in-law know about your girlfriends? Maybe tonight would be a good time for that chat. I wonder if she’ll remain faithful when you’re in prison. She’s about to learn a lot.” Gaetz was quickly accused of witness tampering. Cohen’s testimony had already been postponed after he complained that Trump was threatening him on Twitter.