House Republicans on Thursday approved legislation overhauling the U.S. tax code, slashing rates for corporations while more modestly cutting taxes for individuals, and scaling back a host of popular deductions and exemptions.

And they did it without so much as a hint of drama.

The party-line, 227-205 vote is a victory for President Trump and House Speaker Paul Ryan, who took a major step toward enacting their top domestic priority and salvaging what has been a lackluster first year of unified Republican power in Washington.

What was most surprising about Thursday’s result, however, was how easy it was.

There was no last-minute arm-twisting or back-room buy offs, no desperate calls from the president to wavering lawmakers, no 11th-hour amendments. The vote occurred on schedule, and when Trump trekked to Capitol Hill for a final pep talk with GOP lawmakers on Thursday, his visit seemed oddly perfunctory. Just 13 Republicans voted against the measure, leaving a comfortable buffer for the party leadership even without a single vote from Democrats.

The drama in the drive for tax cuts will surely come later in the process, either as Senate Republicans try to steer their proposal through a narrower majority or when the two chambers negotiate a final version to send to Trump’s desk. The Senate bill is already teetering, with one Republican senator opposed and others voicing concerns. The GOP bill can lose no more than two senators to advance, and it received more bad news when the Joint Committee on Taxation found that the proposal would raise taxes on middle-class families in several years, compared to current law, once many of its cuts expire.

But for one day, Republicans exalted in an initial vote that was months, if not years, in the making. Unlike the party’s shaky attempts to repeal and replace the Affordable Care Act earlier this year, the success on Thursday suggested that the leadership’s more inclusive and deliberative approach to the tax overhaul had paid off. “I think we sent a message to the doubters and the critics,” Majority Leader Kevin McCarthy said.

The largest bloc of opposition came from members representing states that would be hit hardest by the proposal’s elimination of the deduction for state and local income taxes. All but one of the defectors on Thursday came from New York, New Jersey, or California, and they included Representative Rodney Frelinghuysen, the chairman of the Appropriations Committee and a veteran lawmaker who could face a tough reelection fight next year. Several Republicans complained that their districts were being left out of the party’s tax cut altogether. “I didn't come to Washington to raise taxes on my constituents and I do not plan to start today,” Representative Darrell Issa of California said. “It’s disappointing that the bill approved today will not provide the same tax relief to Californians as it does to the rest of the nation.”

But a compromise allowing for people to write off up to $10,000 in property taxes split the New York and New Jersey delegations, helping Republicans get the 218 votes they need. McCarthy of California was able to persuade most of his GOP colleagues in the California delegation to back the bill despite its anticipated impact on their constituents.

Desperation proved a unifying force, too. Across the party, Republicans argued that the risks of failure on both health care and taxes would doom the GOP in 2018, outweighing the political peril of voting for legislation that might not deliver the relief lawmakers assured their constituents would be coming.

Throughout the debate, Republicans have pointed to the overall benefits of the bill. It nearly doubles the standard deduction, lowers rates almost across the board, and expands the child tax credit. “Passing this bill is the single biggest thing we can do to grow the economy, restore opportunity, and help these middle income families who are struggling,” Ryan said in a floor speech closing the debate. “The average family at every income level gets a tax cut,” he added, pointing to a series of charts.

Yet Ryan and other Republicans often elided the fine print and the tradeoffs in the bill. It may technically reduce taxes at every level, but not everyone will see a tax cut, and millions in certain would see a tax increase over time because of the elimination of the personal exemption, limits on the mortgage-interest deduction, and the repeal of the state and local tax deduction.

Democrats assailed Republicans as both shady salesmen and hypocrites for approving legislation that would add, by one estimate, nearly $2 trillion to deficits over a decade after they spent eight years railing about the national debt when a Democrat was in the White House. “It is the most irresponsible bill that I will have been confronted with in the 37 years that I have been in the Congress of the United States,” said Representative Steny Hoyer of Maryland, the second-ranking Democrat, in a speech before the vote. “This bill, Mr. Speaker, is both reckless and feckless.”

“There is no courage in voting for this bill,” Hoyer continued. “Only a suspension of common sense and their now abandoned commitment to fiscal sustainability.”

Republicans forged ahead anyway, seizing an opportunity to make good on a longstanding campaign promise and advance legislation they believe will boost the economy and lift their political fortunes. “It’s a big shot in the arm,” Representative Tom Cole of Oklahoma told me on Thursday. “It’s an accomplishment members can be proud of.”

Still, this was only one step in an arduous process, and the bill Republicans passed on Thursday may look a lot different from the one they ultimately consider as a final product. The House passed its legislation despite knowing that it will have to shrink to make it through the Senate’s complex budget rules. The Senate addressed the same problem in its own bill by sunsetting most of its tax cuts for individuals, but the change may draw opposition since it undercuts the GOP’s promise of prioritizing the middle class over corporations and the wealthy. The Senate bill also does not accept the House compromise on state and local tax deductions, or SALT; it eliminates the break entirely, which could cause an exodus of Republican votes in the House if that were to be in the final bill. “If that SALT thing doesn’t stay in, you better not bring it back here,” Cole warned on behalf of his colleagues. And the House bill does not repeal Obamacare’s individual mandate, which the Senate added to its proposal earlier this week.

Even as they rejoiced on Thursday, House Republicans kept a wary eye on their colleagues across the Capitol, who now have to pass a tax bill of their own. “We don’t believe they can afford, or will allow, another misstep like we had on health care,” Cole told me.

We want to hear what you think about this article. Submit a letter to the editor or write to letters@theatlantic.com.

Russell Berman is a staff writer at The Atlantic, where he covers politics.