window.dotcom = window.dotcom || { cmd: [] }; window.dotcom.ads = window.dotcom.ads || { resolves: {enabled: [], getAdTag: []}, enabled: () => new Promise(r => window.dotcom.ads.resolves.enabled.push(r)), getAdTag: () => new Promise(r => window.dotcom.ads.resolves.getAdTag.push(r)) }; setTimeout(() => { if(window.dotcom.ads.resolves){ window.dotcom.ads.resolves.enabled.forEach(r => r(false)); window.dotcom.ads.resolves.getAdTag.forEach(r => r("")); window.dotcom.ads.enabled = () => new Promise(r => r(false)); window.dotcom.ads.getAdTag = () => new Promise(r => r("")); console.error("NGAS load timeout"); } }, 5000)

Watch: How the Boulder attack unfolded using Molotov cocktails

A man arrested over a "suspected act of terrorism" in Boulder, Colorado, has been charged with a federal hate crime and 16 state counts of attempted murder after officials say he started "setting people on fire".

The attack took place on Sunday when a group was gathered for an event called Run for their Lives, ing Israeli hostages in Gaza.

Suspect Mohamed Sabry Soliman, a 45-year-old Egyptian national, shouted "free Palestine" during the attack.

The BBC's Peter Bowes walks through how the incident unfolded.