Donald Trump has been president for 39 days. And as Americans prepare themselves to listen to his first address to a joint session of Congress on Tuesday, it seems appropriate to compare what he promised to do in his first 100 days in office with what has been achieved in close to half that time.

The answer, broadly speaking, is that while Trump has certainly initiated some consequential policy changes, he hasn’t come remotely close to accomplishing even a third of his agenda. To some extent, that’s because getting things done in Washington is, in practice, invariably a lot more difficult than politicians like to admit on the campaign trail. But strikingly, there are a fair number of Trump promises — especially related to trade — that are fully within his legal authority and where he has simply thus far failed to act. There are also areas, especially relating to immigration, where Trump has taken big actions that are somewhat at odds with his promises.

Alongside his proposed executive actions, Trump also promised an ambitious legislative agenda. It’s by no means surprising that this agenda hasn’t yet been enacted — the wheels of legislation tend to move fairly slowly. But what’s striking is that so far there doesn’t seem to be any forward motion on it at all. No formal proposals have been rolled out, and no congressional hearings have been held on basically any of it.

Here’s a look at what Trump has done — and not done — so far.

Donald Trump’s 100-day executive action plan

As outlined in October, Trump’s plan for his first 100 days involved 18 pieces of executive branch action:

Off this list, far and away the most progress has been made on the six-point agenda to clean up corruption, which has largely been implemented. Voters might, however, be interested to learn that Trump’s restrictions on lobbyists also contain a fair amount of watering down of Obama-era good government anti-lobbyist moves. Experts also feel that the two regulations in, one regulation out rule is largely meaningless. (Business almost certainly can expect a lighter regulatory touch, but not because of this rule.)

Meanwhile, there has been absolutely no progress made toward the likely unobtainable goal of amending the Constitution to impose term limits on Congress. Trump has not drafted the text of any such amendment, found champions for it in Congress or state legislatures, or really even so much as mentioned it.

Of the five security actions, Trump has had mixed results when he’s acted at all. The Supreme Court pledge has been fulfilled in the form of Neil Gorsuch’s nomination to the bench. The immigration suspension pledge was fulfilled by an early order barring travel by citizens of seven Muslim-majority countries, but has been tied up in court for weeks. In practice, Trump’s actual order on removing unauthorized immigrants has the opposite effect of what a plain reading of the text would suggest — he is telling Immigrations and Customs Enforcement agents they don’t have to focus on serious criminals anymore and should instead just deport people at random.

His other priorities in this category are stalled. How many of Obama’s executive actions were unconstitutional in the first place (and thus covered by this pledge) is obviously a matter of dispute. Trump has rolled back some of Obama’s various regulatory actions, like a Securities and Exchange Commission rule forcing oil companies to disclose payments to foreign governments and an Environmental Protection Agency regulation limiting the amount of coal waste that can be dumped into streams. Nothing precise has yet been done on sanctuary cities (a term with no clear legal definition), though some kind of crackdown does seem to be in the works.

On worker protections, the Trans-Pacific Partnership has been officially canceled (though in practice, it’s been dead since well before the election), and pipeline building is back on schedule. Trump has not, however, given notice and started the process of canceling NAFTA. Nor has his Treasury Department designated China as a currency manipulator. Nothing has been done to address alleged trading abuses by foreign countries more generally. Nothing has been done to increase domestic infrastructure spending. And while the Trump administration almost certainly foreshadows a more welcoming climate for fossil fuel extraction, not much has yet been done on this in practice.

Donald Trump’s 100-day legislative plan

Trump also pledged to work with Congress to drive the enactment of new legislation.

Presidents always fall short of their promises in this regard (it’s the only way to promise enough to get elected), but Trump has done basically nothing on any of this.

There is some legislative activity in the works on Capitol Hill on replacing the Affordable Care Act, but the White House has not played a substantive role in trying to resolve disputes between various Republican members about its course. On a few of these other issues, like child care and school choice, there have been some meetings (Ivanka Trump is calling members of Congress) and rumors of plans (Trump keeps saying he’ll have a health care plan soon) but no white papers or draft legislation or congressional “gangs” working on the issue. On taxes, the House GOP is cooking up a plan — the destination-based cash flow tax — that’s totally different from what Trump proposed here.

On infrastructure, Senate Democrats have answered Trump’s call for a $1 trillion infrastructure plan, but Trump hasn’t embraced it. Instead, the White House is currently signaling that this first 100 days priority will actually be delayed until 2018, which probably means in practice that it won’t happen.

The other ideas are themes that Trump speaks about frequently, but no specifics have come down from the White House. The idea that job losses are due to foreign trade, for example, has been a major Trump theme before and after the election, but it’s still unclear what exactly he plans to do about it. Tuesday night’s budget address should, in principle, be an opportunity to fill in some more details on exactly what Trump has in mind. But filling in details is out of character for Trump.

Trump’s governing agenda is off to a slow start

While there’s nothing particularly unusual about presidential overpromising, comparing Trump’s stated 100 days agenda to the actual state of play at the end of February is a powerful reminder that Trump’s campaign was largely run independently of the institutional Republican Party in Washington. Since winning the election and taking office, Trump’s campaign team and inexperienced inner circle has been blended with more conventional figures drawn from the ranks of the congressional GOP and Republican Party donor circles.

Trump’s pledges on trade and infrastructure that were central to his campaign rhetoric but out of step with the Washington Republican consensus have been put on hold while the president’s team considers whether it really wants to do that stuff. The annoying, tedious wheels of the legislative machine are in motion on Paul Ryan’s top priorities, but the White House hasn’t really engaged with them. Senate Republicans, meanwhile, appear to be largely in a holding pattern trying to get Trump’s nominees confirmed.

It’s entirely possible that this is simply a slow start as a consequence of inexperience, and we’ll look back two or four years later and see an enormously consequential list of achievements Trump can claim credit (or blame) for. But so far, it’s an administration that’s been long on drama and somewhat short on substance.