MESTRE — When Boubacar Touré and his flatmates heard a sudden, thundering crash beside their apartment, they thought it was an earthquake. But then they opened the windows of their kitchen, where they were cooking dinner, and one shouted: "A bus has fallen."
"We ran down to the spot where the bus was on fire and I heard a woman screaming, 'My baby, my baby,'" 27-year-old Boubacar, who is from The Gambia says, his eyes heavy with exhaustion.
"I managed to pull her through the window and then pulled out her son, who was badly burnt but still alive."
The bus, carrying tourists back to a nearby campsite after a day in the historical centre of Venice, had been driving along a busy overpass when it suddenly careened off the side on Tuesday evening. It smashed through the barriers and plunged several metres towards a railway track where it burst into flames.
At least 21 people died. Of the 15 who are injured, most remain in intensive care. Some of the victims were children, including a baby.
Among the dead are nationals from seven countries, the Venice mayor's office says, including Ukraine, Germany, Romania and Portugal.
Boubacar describes how he grabbed the fire extinguisher from the bus to help quell the flames — but that wasn't enough.
"Passers-by were giving me other extinguishers but nothing helped, we had to wait for the firefighters", he recalls. "So I pulled others to safety, a woman and a man and a child. People were bleeding from their heads, there was so much blood."
His flatmate, Odion Eboigbe from Nigeria, was with him, pulling others through the wreckage of the mangled vehicle — an electric-powered bus whose batteries are thought to have caught fire.
"We were able to save many but unfortunately others died", he says.
"I wasn't scared, I didn't think of my own safety because I saw people with their heads split open. Today my colleagues asked me: 'what were you thinking when you went towards the flames,' and I told them I just had to save the women and children."
Once emergency workers arrived, they spent hours dousing the flames and helping the injured.
The fire was so intense that DNA samples will need to be used to identify some of the dead.
At the spot on the overpass where the bus took its final catastrophic turn, the guard-rails are smashed apart and fragments of glass lie on the tarmac. A passer-by has laid yellow flowers.
Authorities say there was no sign of a sudden braking by the bus. Indeed, CCTV from the moment before the crash shows the vehicle steadily climbing the overpass and then apparently slowing down before inexplicably toppling against the barriers and off to the side.
The driver, Alberto Rizzotto, had worked for the bus company for seven years. The most likely cause, say the authorities, is that he had a sudden medical problem that made him lose control. In his last Facebook post, he said he was "running a shuttle to Venice."
Relatives of the victims have started arriving in Venice from abroad. Among the injured are nationals of Ukraine, Germany, Croatia and Spain.
According to local media, they include two German brothers, aged 7 and 13, who lost both their parents. There were "entire families, grandparents, grandchildren, spouses" on board, said Chiara Berti from the Angelo di Mestre hospital.
The tragedy has already raised questions about the state of the barriers on the overpass, which were clearly rusting and aged.
Domenico Musicco, the head of an association for road accident victims, called it "a tragedy foretold".
"Italian road maintenance is poor. Too little is invested in road safety. It is estimated that 30% of accidents are down to that," he told the news agency AFP.
Venice has declared three days of mourning for a tragedy that has profoundly shaken this city.
Boubacar and Odion say they haven't slept since the crash.
When I put it to them that some would call them heroes, they shrug. "If saving people makes you a hero, then maybe", says Boubacar.
"But when somebody needs help because they're dying, you can't just walk away." — BBC