There's nothing quite like flipping back and forward through time to challenge your understanding of what's going on.
Looper is a time-travel story that demands a certain amount of concentration to follow and interpret the events and their implications.
Loopers are hired assassins whose job is to kill people sent back in time to them.
In the year 2074, killing people and disposing of their bodies has become difficult, so gangsters have come up with a method of sending their victims 30 years back in time to have the contract carried out on them.
Loopers are carefully monitored and controlled and any slip-ups are usually fatal.
Should a looper lose their usefulness, their future self is sent back in time and they must kill themselves. The looper then has 30 years until their life suddenly ends.
Joe (Joseph Gordon-Levitt) is a young but ruthless looper.
His mistake was to help a fellow looper who was in trouble.
He then finds himself standing in front of himself, but 30 years older (Bruce Willis).
Old Joe is determined to stay alive to fulfil his mission - to kill a young boy who would grow up to become the lead gangster in the future, a man who would authorise the murder of Old Joe's wife.
Young Joe knows there are all sorts of complications from Old Joe's presence in the past.
When Young Joe works out who the young target is, he knows he must find a way to stop Old Joe.
(R16) Roadshow Entertainment
Rating: 4 / 5