Swedish prosecutors have charged an Uzbek man who rammed a stolen truck into a crowd in Stockholm last April, killing five people and injuring 14 others, with terrorism, attempts to carry out a terror act and causing others to be endangered.
Rakhmat Akilov is the only suspect and has already confessed.
He was arrested hours after he drove a stolen beer truck into the crowd in a busy pedestrian shopping street and crashed it into an upmarket department store in the centre of the capital on April 7.
The dead included Briton Chris Bevington, 41, who worked as a director with music streaming service Spotify and was based in Stockholm with his family.
According to the charges obtained by the Associated Press, Akilov had offered to carry out an attack in Stockholm on behalf of Islamic State, and had gathered information about possible targets. It was not clear whether the terror group had accepted his offer.
Investigators found a memory card with "material that can be connected to IS", including execution videos.
Akilov also caused an explosion inside the truck he had stolen when a suspected bomb made of five gas canister with 38 screws, blades and smaller metal objects exploded. The blast caused "extensive damage to the vehicle", according to the charges.
The Uzbek construction worker, who was 39 at the time of the attack, was subject to deportation from Sweden ahead of attack as his asylum application had been rejected.
Swedish prosecutors and his defence lawyer plan separate news conferences later.