Italian police on Wednesday rescued 51 children taken hostage by their school bus driver, who doused the vehicle in petrol and set it alight apparently in protest at migrant deaths in the Mediterranean.
Some of the children were tied up during the 30 minute ordeal, which saw the bus slam into a car but was brought to an end by police after one of the children was able to call for help. No one was seriously injured.
"It is a miracle, it could have been carnage. The police were outstanding, blocking the bus and getting the children off," said Milan prosecutor Francesco Greco.
Photos showed the burnt-out shell of the bus and the car.
Greco added that he could not rule out a terrorist connection in the incident at San Donato Milanese in northern Italy.
The 51 students in year two of secondary school were coming back from a sports outing accompanied by three adults when the driver abruptly changed route, announcing he was taking them all hostage.
"No one is getting out of here alive," he said, according to several of the students.
A dozen children and two of the adults were taken to hospital for smoke inhalation while the arrested driver, an Italian citizen of Senegalese origin, also needed treatment for burns to his hands.
The Milan police anti-terrorism unit has been charged with investigating the hostage-taking which lasted a little over 30 minutes.
The driver, armed with two canisters filled with petrol and a cigarette lighter, threatened the children, took their telephones and told the adults to tie them up with electric cable.
"I lost three children at sea," the man said, according to one of the rescued children.
"He threatened us, said that if we moved he would pour the petrol and set it alight. He kept saying there were so many people in Africa who kept dying and that it was the fault of (deputy prime ministers) Di Maio and Salvini," a rescued girl told Italian media.
Luigi Di Maio and in particular Matteo Salvini, also interior minister, have taken a hard line against migrants since they formed a populist coalition government in June, including trying to close Italian ports to ships that rescue migrants in the Mediterranean.
"Then the police arrived and saved us," the rescued girl said.
Prosecutor Greco said that the man kept two of the children close to him, brandishing the lighter. The bus crashed into a car, from which a father and son escaped before it burst into flames.
One of the children managed to pick up a phone that had been dropped and call their parents who in turned phoned the police.
"I hurt my hands a bit picking it up... we are all terrified," the boy told Italian television.
Police blocked the bus in the street and broke open the back windows to get the children out before the vehicle went up in flames.
"I want to put an end to it, I want to stop the deaths in the Mediterranean," several reports cited the driver as saying.
Thousands of migrants have crossed from North Africa to Italy, many of them losing their lives on the dangerous journey.
Reports said he was 47 years old, of Senegalese origin and had been a school bus driver since 2002. He was divorced from his Italian wife and has two teenaged children.
The interior ministry said in a statement that the driver had been previously caught driving while drunk and had sexually assaulted a minor. It gave no dates for the alleged offences.
Interior ministry sources said the minister was looking at withdrawing the driver's Italian citizenship, a move made possible by tough anti-migrant legislation adopted late last year.