At least 30 civilians were killed and almost 100 wounded in what Kyiv said was a Russian missile strike on a convoy of civilian cars in southern Ukraine on Friday.
The convoy had been assembling at a car market on the edge of the city of Zaporizhzhia, preparing to leave territory controlled by Ukraine to visit relatives and deliver supplies to an area occupied by Russia, officials said.
“The enemy started this day with a deliberate and absolutely calculated murder of Ukrainians … the Russian military knew where their missiles would hit,” Ukraine's President Volodymyr Zelenskyy said in a video address, giving the latest casualty figures.
“This was done by non-humans … they will answer before the law without fail.”
Car windows were blown out by the impact of the missile strike and their sides were sprayed by shrapnel, a Reuters witness said.
One body was leaning from the driver's seat into the passenger seat of a yellow car, the left hand still clutching the steering wheel.
The attack was carried out hours before President Vladimir Putin proclaimed Russian rule over Zaporizhzhia and three other provinces where Moscow has seized territory.
Authorities later held a concert in Moscow's central Red Square to mark the occasion.
“They sang in the square, they were talking about Zaporizhzhia, when they themselves did this in Zaporizhzhia. They are non-humans,” said Mr Zelenskyy.
Russia denies deliberately attacking civilians. Vladimir Rogov, an official in the Russian-installed administration in the Zaporizhzhia region, blamed the attack on Ukrainian forces.
Police Col Sergey Ujryumov, head of the explosive disposal unit of the Zaporizhzhia police department, said the car market had been hit by three S300 missiles.
Col Ujryumov told Reuters that the Russian military “know that columns are formed here to go to the occupied territories”.
“They had the co-ordinates,” he said.
“It's not a coincidental strike. It's perfectly deliberate.”
The vehicles were packed with the occupants' belongings, blankets and suitcases. Plastic sheets were draped over the bodies of a woman and young man in a green car. A dead cat lay next to the young man in the rear seat.
Two bodies lay in a white minivan in front of another car, its windows blown out and the sides pitted with shrapnel.
The corpse of an elderly woman lay nearby, her shopping bag next to her.
Another woman, who gave her name as Nataliya, said she and her husband had been visiting their children in Zaporizhzhia.
“We were returning to my mother who is 90 years old. We have been spared. It's a miracle,” she said.
Nikola Rusak, a 62-year-old delivery driver from the southern province of Kherson, survived unscathed as he slept in his minivan, parked about 20 metres from a row of car parts shops that were hit by a missile.
“I could not understand what was happening,” he said. “I got out and saw people running. I was in a daze. I was just standing there frozen. I didn't know what to do.”
Mr Rusak said he had been sleeping in the vehicle for five days after dropping relatives in Zaporizhzhia, waiting for a phone call telling him to join the convoy for the trip home to care for his elderly mother.