Submitted by Steve

Jack’s partner Bobby is the killer. He framed Garret for the murders because Ashley’s presence at the warehouse made Georgie realize they could be identified, and they ordered Bobby to kill him and his family. Georgie is not a person but a group of corrupt cops, and both Bobby and IA detective Roger are part of the group but Captain Howard isn’t. As present-Bobby is about to kill present-Jack, past-Jack kills past-Bobby, resetting that timeline and saving both present-Jack and Ashley’s lives.

Jack Radcliff (David Oyelowo) is a Los Angeles homicide detective who has received a call from his niece Ashley (Storm Reid) to pick her up from a movie theater because her father Garret (Brian Tyree Henry) forgot to get her. While driving her home, Jack promises to talk to his brother, a former drug dealer, about being more responsible. A few days later, Jack gets a call from a frightened Ashley and he races to their home. Once there, he finds Garret, his wife Susan (Shinelle Azoroh), and Ashley all dead. The police rule the death a murder/suicide, with Garret the killer. Jack blames himself for their deaths, because he thinks his stern talk with his bipolar brother triggered his actions. Two weeks later, a still despondent Jack gets a call from Ashley’s cellphone, even though it’s in front of him turned off. He doesn’t answer, but when he tries to call her back, it goes to her turned-off phone. He receives several calls from her number, and when he finally answers, it’s Ashley, repeating the same conversation they had the night after he talked to his brother. Jack figures out that somehow Ashley is calling from the past, several days prior to her murder. He doesn’t tell her that, but he does tell Ashley to start doing things that he hopes will alter her future and save her and her parent’s lives. From this point on, the story cuts back and forth between the present (“present-Jack”) and the past.

Jack’s partner Bobby Owens (Mykelti Williamson) tells him that Internal Affairs wants to talk to him about Garret’s case, and IA detective Roger Lee (Byron Mann) is convinced that Garret isn’t the killer, but that Jack framed him for the deaths. He thinks Jack was having an affair with Susan and wanted his brother dead so he could have the family he’s always wanted. Undeterred, Jack continues with the investigation, and he soon agrees with Roger that Garret was framed. During his investigation, Jack found a box of drugs under Garret’s bed, and he thinks he’s been dealing again, and that’s why they’re dead. He also finds Ashley’s backpack in her room. Meanwhile in the past, Ashley sees her father talk to someone in a white Porsche, but she can’t see who the driver is. She also finds out that he has been talking with someone named Georgie. She relays that info to present-Jack, and he brings that to his boss, Captain Howard Keleshian (Alfred Molina). Howard tells him that Georgie is a drug kingpin who has been tied to major drug deals for years. Jack is convinced Garret is dealing for Georgie, and he killed them for some reason. Later that night, while talking with Bobby about the case, Ashley calls again and tells him she’s heading to his house to give him an address she found for Georgie. Since he still hasn’t told her the truth about the phone calls, he tells her to stay away from him (“past-Jack”) and not to say anything about the case if they should see each other.

Ashley tells present-Jack Georgie’s address, and Jack goes to that house to investigate it. While there, he is ambushed and seriously wounded. Just then Ashley calls, and Jack tells her to call the police to have them arrest Garret for drug possession, and to call Bobby if she feels she is in danger. He hopes that this will prevent the murders. However, Ashley, despite his warnings, goes to Jack’s house anyway. Since the murders haven’t happened yet, past-Jack has no idea what she’s talking about, and she leaves angry. She goes home, and the murder/suicide still happens, but this time a day earlier. Since the past was changed, the present is also changed and the timeline is reset. As a result, Jack is no longer wounded, but he still has his memories from the previously timeline. Since the calls from Ashley following her death still occurred, Jack’s interactions with Ashley still happened, but her murder will now happen that day. A still-alive Ashley follows her father to a meeting at a warehouse, and she sees that he’s meeting with several men, one of whom may be Georgie. She’s spotted and is chased out of the warehouse, losing her backpack in the process. Ashley calls Jack and tells him what she saw. As present-Jack is investigating that warehouse, he is ambushed and wounded again, but not as seriously this time. Following another call, Jack and Ashley agree to “meet” at a local diner (both are on their phones sitting in the same booth). Present-Jack convinces Ashley they are talking across time, and her father’s actions with Georgie will lead to their deaths. He also tells her to leave town to protect herself, but instead of doing that, she calls Bobby.

Later, a still-wounded Jack is confronted by present-Bobby and Howard at the police station. He asks them how Ashley’s backpack could be at the crime scene when he knows she lost it earlier that day. Upon hearing that, Bobby tells Jack and Howard that the white Porsche (neither he nor Howard know it was Ashley that saw it) belongs to Roger Lee, the IA detective. Howard takes them outside, and he tells Jack everything. Georgie is not a person but a group of corrupt cops, and he and Bobby have been working undercover with IA to stop them. If Roger is part of Georgie, that would explain how they haven’t been caught yet. They travel together to inform the head of IA of what they now know, and during the trip, Jack thinks Howard is going to kill him. However, Bobby ends up killing Howard and turns his gun towards Jack. Bobby admits he was the one who killed Garret and his family because when Ashley showed up at the warehouse, Georgie knew that they could be identified. Bobby knew the backpack that was found was Ashley’s, and Georgie ordered him to kill Garret and his family. As present-Bobby is trying to kill Jack, past-Bobby is taking Ashley home, but she sees her backpack in his car. Now knowing that Bobby intends to kill them, she runs and hides. Bobby kills Garret and Susan, but Ashley is able to get away and runs to past-Jack’s house. He sees her just as a bloody past-Bobby arrives and is about to kill Ashley. Just as present-Bobby catches present-Jack and is about to kill him, past-Jack gets his gun and kills past-Bobby. This changes the timeline again, and present-Bobby and present-Jack both disappear. Because of the reset timeline, this actually saves present-Jack’s life (and Howard’s as well). The movie ends with past-Jack comforting a crying Ashley.

01 hours 43 minutes