Eight minutes - that's all you've got to stop a terrorist bomb destroying a US commuter train.
That's not long - but if you get it wrong you can go back and try again.
Confused? Welcome to the Source Code.
Colter Stevens (Jake Gyllenhaal) was a decorated US helicopter pilot who recently died
in Afghanistan.
But through the magic of science, his brain was saved and computer wizards working for the government are able to send him into the mind of a male passenger on the train.
Once on the train, Colter's mission is to use his military skills to find the bomb and the bomber.
The bomber has plans to detonate a larger device in central Chicago, so Colter has to find him before he can launch his next attack.
In a Groundhog Day sort of way, Colter warms to his task and explores a few different options in trying to determine who is his man.
If option one fails, the train explodes and Colter is forced to repeat his mission.
Complicating his task is Christina Warren (Michelle Monaghan), a passenger who is friendly with the man whose body Colter now inhabits.
He develops a growing affection for her.
Ultimately, Colter wants to stop the bomber from destroying the train (and destroying Chicago), while somehow surviving inside his new body so he can continue his new relationship with Christina.
Source Code certainly tests your imagination and leaves you with questions about how the whole thing works.
Runaway trains and train explosions are nothing new, but Source Code puts an enticing new spin on trying to deal with the danger.
Source Code
4/5
(M) 93 minutes