As the US reels from another school shooting, more details are emerging of the horror that unfolded in Texas near the border with Mexico.
Witnesses have described traumatised children covered in blood being hugged by parents. Others had to come to terms with devastating news of the deaths of loved ones.
But Tuesday began much like any other weekday in May in Uvalde, about 80 miles (130km) west of San Antonio. Around 08:00 local time, near the centre of the town, some 600 students aged seven to 10 were arriving at Robb Elementary School.
The summer holidays were fast approaching and many children were savouring their final days in middle school before graduation.
But that morning on the other side of town, Salvador Ramos fired the opening shots of one of America’s deadliest mass shootings.
The 18-year-old – described as a loner, from a “fraught home life”, bullied over a speech impediment – shot dead his grandmother before fleeing the scene in a battered truck carrying guns and copious ammunition.
After driving erratically across town, Ramos eventually crashed his car into a ditch near Robb Elementary School. Some bystanders approached the car to offer assistance.
“People thought that he was in trouble and so they jumped out to help him and he came out of his vehicle and started shooting at them,” one person told the Spanish language network Telemundo.
A police officer who works at the school and then two officers from the Uvalde police department all fired at Ramos – but they could not stop him and instead called for back-up, Eric Estrada from the Texas department of public safety said.
Ramos entered the school at 11:32 local time, where he embarked on a 45-minute rampage in which he “shot and killed horrifically, incomprehensibly”, according to Texas Governor Greg Abbott.
Video shared on social media showed a person clad in black jogging toward a side door of the school carrying what appeared to be a rifle.
Ramos is believed to have immediately purchased two semi-automatic rifles after turning 18 last week.
Witnesses reported gunfire in a fourth grade classroom and others reported seeing children clambering out of windows and seeking shelter at a funeral home nearby.
Others, led by two teachers, escaped from the building and hid behind some trees at the rear of the school.
Marcela Cabralez, a local pastor, told the Washington Post that her nine-year-old granddaughter was eating her lunch with other students when she heard noise coming from outside, including shots and breaking glass.
Teachers shepherded children behind a curtain, where they all hid, desperately trying to avoid attracting the shooter’s attention. Ms Cabralez’s granddaughter hid in a bathroom.
Another teacher, Eva Mireles, was shot and killed by the gunman while trying to protect her students.
Adolfo Hernandez told the New York Times that his nephew had been in a classroom near where the shooting had taken place.
“He actually witnessed his little friend get shot in the face,” Mr Hernandez said. The friend, he said, “got shot in the nose and he just went down, and my nephew was devastated”.
As police arrived at the scene, Ramos, who was clad in body armour, barricaded himself in the school and prepared for a showdown with law enforcement officials.
Travis Considine, a spokesman for the Texas Department of Public Safety, told reporters that two police officers were injured after after exchange of fire with Ramos.
The massacre finally came to an end after a nearby Border patrol officer shot Ramos in the head.
Seven 30-round magazines belonging to Ramos were later found at the school.
Children were rushed to a local community centre about a mile from the school and Mr Sotelo said he saw several teachers and children emerging sobbing and injured.
“We saw a little girl full of blood and the parents were screaming, it was an ugly scene,” Derek Sotelo, a resident who runs a local auto-repair shop shop, told the Washington Post. “They were just little kids.”
As police began investigating, a frantic scene was emerging at the school as parents gathered seeking news.
Journalists at the scene reported hearing cries and sobs as family members who gathered there received the devastating news that their children had been killed.
Angel Garza said on Facebook that his 10-year old daughter Amerie had been killed.
“My little love is now flying high with the angels above. Please don’t take a second for granted. Hug your family. Tell them you love them,” he wrote on Facebook.
And Lisa Garter mourned the death of her 10-year-old son Xavier Javier Lopez.