A 14-year-old South Carolina boy is accused of shooting and killing his father, then driving to a primary school and wounding two children and a teacher with a handgun - before being tackled by a firefighter who held him for police.
The suspect, whose name has not been released, is accused of fatally shooting his 47-year-old father, Jeffrey DeWitt Osborne, on Wednesday (local time) then driving a pick-up truck about 3km to Townville Elementary School where he crashed into a fence surrounding the playground.
After the teenager began shooting, volunteer firefighter Jamie Brock pinned him down while staff led children to safety inside the building, Anderson County emergency services director Taylor Jones told a news conference.
Police arrived within seven minutes of a teacher calling emergency services to take the suspect into custody at the school in Anderson County, 160km northeast of Atlanta.
The shooter never entered the building, Chief Deputy Keith Smith said.
US schools have taken added security precautions since 2012 when a gunman shot dead 20 children and six educators at Sandy Hook Elementary School in Newtown, Connecticut.
Brock, a 30-year veteran of the Townville Volunteer Fire Department, was hailed on social media as a hero and credited with preventing another school massacre.
"[He] was there in the hot scene and risked his life to mitigate this incident," Jones said.
One of the victims, six-year-old Jacob Hall, remained in critical condition, Greenville Health System spokeswoman Sandy Dees said.
The other boy, who is also about 6 years old, and a female teacher were treated and released, said Ross Norton, a spokesman for AnMed Health Medical Center.
One male student was shot in the leg and the other boy was shot in the foot. The teacher was shot in the shoulder, authorities said.
Anderson County Sheriff's Office Captain Garland Major told reporters he did not know the relationship between the shooter and those wounded at the school.
Authorities said the suspect was home-schooled.
Immediately after the shooting, armed officers guarded students as they were moved from the school and taken by bus to a nearby church.
Television images showed police swarming the school, with some officers on the roof while others moved around the building.
Jamie Meredith, whose daughter is in kindergarten at Townville Elementary, told WYFF News she panicked after getting word of the shooting. Her daughter is OK but described a scene of scared and crying children.
"I'm just scared," Meredith said through tears as she was interviewed by WYFF.
"I don't even want her to go to school now."
About 280 students attend the school.