European Union leaders have agreed on a plan to send thousands of migrants from Syria and elsewhere to Turkey, in exchange for financial aid and political concessions to Ankara.
But some of the EU leaders and human rights groups have deep misgivings about the plan expected to be presented to Turkish Prime Minister Ahmet Davutoglu on Friday.
It would have the EU pay to send migrants who do not qualify for asylum in Greece to Turkey, while settling tens of thousands of others equally across the EU.
In exchange, Turkey, which already houses nearly 3 million Syrian refugees, would get financial aid, quicker EU membership talks and visa-free travel for Turkish citizens.
Turkey has a shaky human rights record, and some human rights groups criticize a plan they say would use people looking for refuge from war, poverty and terrorism as political pawns and merchandise.
Even some EU leaders who signed off on the plan said they were not entirely happy with it.
Lithuanian President Dalia Grybauskaite said the proposal "is on the edge of international law" and may be hard to implement if Turkey accepts it.
Belgian Prime Minister Charles Michel accused Turkey of blackmail.
But Europe has been struggling for months with the continent's worst refugee crusts since World War II, and no one has come up with a solution on which everyone can agree.
Thousands have drowned in the dangerous Mediterranean Sea after paying human smugglers to get them to Greece or Italy. Children have been among the victims.
While EU leaders were working on a plan, Macedonia joined other European nations, shutting down its border with Greece and leaving about 14,000 people in a cold, muddy field.