The engineering here is awesome
President Donald Trump has set in motion his plan to build an "impenetrable, physical, tall, powerful, beautiful, southern border wall" between the US and Mexico.
The border is about 1,900 miles (3,100 km) long and traverses all sorts of terrain.
Mr Trump says his wall will cover 1,000 miles and natural obstacles will take care of the rest.
But how much will it cost and who is going to foot the bill?
What is the estimated budget?
"I would build a great wall, and nobody builds walls better than me, believe me, and I build them very inexpensively."
Mr Trump claims the total cost of the wall will be $10bn (£7.5bn) to $12bn. But estimates from fact checkers and engineers seem to be universally higher.
Senate Majority Leader Mitch McConnell estimated it will cost between $12-15bn, as he addressed reporters at a Republican conference in Philadelphia.
The 650 miles of fencing already put up has cost the government more than $7bn, and none of it could be described, even charitably, as impenetrable, physical, tall, powerful or beautiful.
There are other reasons the costs would be likely to escalate beyond Mr Trump's price tag - his plans require extending the wall into increasingly remote and mountainous regions, raising the building costs substantially.
Map showing where there is already a fence between the US and Mexico border
Adding even more to the expense, the new 1,000 miles would crisscross private land, which would have to be purchased, perhaps by legal force, or financial settlements made with owners.
A study by the Washington Post estimated the cost of the president's wall would be closer to $25bn.
The row over payment
President Trump has always insisted Mexico will pay. Mexican President Enrique Pena Nieto has been equally insistent he will not.
Needing to fulfil his election pledge to start building on day one, Mr Trump has signed an executive order setting it in motion.
He has accepted that US taxpayers will have to cover the initial funding.
Congressional approval would be needed and Republicans have suggested a supplemental appropriations bill could be fleshed out over the next two months.
So, how would that money be recouped from Mexico?
There are a number of options, but nothing has been officially decided.
1. Raising tariffs on imports. Mr Trump's spokesman, Sean Spicer, said on 26 January that the president wanted a 20% tax on Mexican imports to pay for the wall, although he later added that it was one of several options still being considered. "By doing it that way we can do $10bn (£8bn) a year and easily pay for the wall, just through that mechanism alone," he told journalists. Forbes has argued that existing duties on Mexican goods would have to be quadrupled to pay for the whole of the wall, even if its cost were spread over 10 years. US companies would also almost certainly source products from elsewhere, reducing the revenue. The Mexican government could respond by removing tax benefits for US foreign investment. The investment totalled $101bn in 2013.
2. Remittances. Two possibilities here. President Trump could try to use laws aimed at preventing money-laundering to halt Mexicans working in the US from wiring money to families back home. The sector is huge - about $25bn a year. The hope is that the threat would cow Mexico into coughing up for the wall. The second option is to tax the remittances. Either a flat tax on all, or a far more punitive tax on those who cannot prove legal residence. But Mexicans affected by remittances might simply avoid using the wire companies and find undocumented third parties to transfer the cash.
3. Levying a "border adjustment" tax. House Republicans propose lowering corporation tax from 35% to 20% but base it on the place of consumption, not production. Imports would be taxed but not exports. A 20% tax, given the $60bn trade deficit with Mexico, would raise $12bn a year. Mexico could do little, the Washington Post reports, because border adjustments would apply to all US trading partners and would not therefore be seen as a singling out Mexico.