Cheesy horror movies are a dime a dozen, and it seems they cram more releases in every year. It’s difficult to tell from trailers which ones will be the gems among all the boring pebbles and as an obvious take on the ideas in Groundhog Day, it was questionable whether Happy Death Day would number among those few good ones. Thankfully, it’s a fun romp that skirts most of the boring clichés so common in horror films and keeps you guessing about the identity of the would-be killer until the very end.

College student Tree (Jessica Rothe) wakes up on the morning of her birthday with a whopping headache in a stranger’s dorm room. After he introduces himself as Carter (Israel Broussard), she brushes him off and goes about her day without a thought, which includes insulting almost everyone she sees, sleeping with one of her professors, and skipping out on a birthday lunch with her dad. When she heads out alone to a party at a neighboring frat, she is ambushed by someone in a creepy mask who chases her down and slits her throat. Then she wakes up again that same morning and lives her day all over, only to be killed again that evening. After a few cycles through the same day, Tree realizes what is happening and decides she must figure out who is killing her and put a stop to it so she can wake up tomorrow.

Since Happy Death Day takes place in one day, you see the same scenes play out over and over again in different ways, and while it manages to convey the inherent monotony of the situation, each scene changes enough that it doesn’t becoming boring. Jessica Rothe is the main reason for that success as she plays every scene with the same level of dedication and is fun to watch whether she is being nasty or sweet. As the days pass and Tree keeps dying, she becomes more haggard and desperate to find a way out, and Rothe imparts that desperation with her whole self. Israel Broussard, the stranger in the dorm room, ends up as her love interest and is charming but ineffectual as he never stands out as anything beyond a cute nerdy boy. The romantic subplot is kept to the background and, while he ends up assisting Tree in finding the solution to her anachronistic difficulties, the film refrains from making him the hero.

While it’s an enjoyable watch, Happy Death Day is by no means perfect. The score is grating and at times the camerawork becomes so frenetic that it’s difficult to determine what is happening. It takes forever to get to the emotional final reveal and, in the hopes of keeping the viewer guessing as to who is killing her, it throws far too many suspects in the mix. Tree’s character is uneven; at times she is a horrid person but after a few days of her experience she regrets her behavior. As she attempts to make amends, the film expects the viewer to accept it and allow her the redemption she seeks, but due to the conceit of the story her efforts are pointless until she succeeds at finding the killer. Remorse is a healthy thing when you have done wrong, but it’s not worth much if those you wronged don’t remember your apologies.

Despite its flaws, Happy Death Day is well worth watching this Halloween season. Its focus on a woman-led story that doesn’t fall into the usual traps of romantic interest or sex shaming is enough to put it above most of the other horror films being released this fall. I thoroughly enjoyed Jessica Rothe’s acting and hope this pushes her into getting higher profile roles in the future. Ultimately, I enjoyed the film and could overlook its flaws because it never takes itself seriously, knows exactly what it wants to be, and hits that mark dead center.