A girl reported to be 11 or 12 years old has been taken into police custody after shooting two students and a cleaner before being disarmed by a teacher at a school in Idaho.
The child pulled a handgun from her backpack on Thursday and fired multiple rounds inside and outside Rigby Middle School in the small city of Rigby, about 95 miles southwest of Yellowstone National Park.
All three victims remain in hospital, but are expected to make a full recovery.
“It's an absolute blessing" that they weren't more badly injured, said Dr Michael Lemon, the trauma medical director at Eastern Idaho Regional Medical Centre.
The suspect, from the nearby city of Idaho Falls, has not been named, neither have the two injured students.
But a GoFundMe page has been set up for Jim Wilson, understood to be the cleaner who was shot.
A message on the site says: “We are fundraising for Jim Wilson, a very loved Rigby Middle School custodian. Recently Jim was involved in a school shooting where he was shot.
“Over the years Jim has given us hours of work to make our schools better.
“We’d love to raise money to help pay for Jim’s medical expenses to show how much he is loved and appreciated.”
So far, more than $17,000 has been raised.
Police were called to the school around 9:15 am after students and staff heard gunfire.
Pupils were evacuated to a nearby high school to be reunited with their parents.
"Me and my classmate were just in class with our teacher - we were doing work - and then all of a sudden, here was a loud noise and then there were two more loud noises,” said 12-year-old Yandel Rodriguez.
“Then there was screaming. Our teacher went to check it out, and he found blood."
"This is the worst nightmare a school district could ever face,” said Jefferson School District Superintendent Chad Martin.
"We prepare for it, but you're never truly prepared."
A female teacher disarmed the girl and held her until police arrived.
Authorities say they are investigating the motive for the attack and where the girl got the gun.
"We don't have a lot of details at this time of 'why' - that is being investigated," said Jefferson County Sheriff Steve Anderson.
"We're following all leads."
Jefferson County Prosecutor Mark Taylor said decisions about criminal charges wouldn't be made until the investigation is complete but that they might include three counts of attempted murder.
The attack appears to be Idaho's second school shooting. In 1999, a student at a high school in Notus fired a shotgun several times. No one was struck by the gunfire, but one student was injured by ricocheting debris from the first shell.
In 1989, a student at Rigby Junior High pulled a gun, threatened a teacher and students, and took a 14-year-old girl hostage, according to a Deseret News report.
Police safely rescued the hostage from a nearby church about an hour later and took the teen into custody. No one was shot in that incident.