Rogue One is perhaps the grittiest addition to the Star Wars franchise. Set chronologically between Episode III: Revenge of the Sith and Episode IV: A New Hope, the movie follows a group of Rebel Alliance fighters led by Jyn Erso (Felicity Jones) attempting to steal the plans of the Death Star. In Rogue One, the Rebel Alliance is less of the heroic enterprise that emerges in episodes five through seven, and more a band of ideologues willing to do anything to bring down the Empire. Rouge One attempts, sometimes clumsily, to track those motivations—to frame this group of radical resistance fighters within the frame of conflict.

What results is a movie that has all of the building blocks of a Star Wars movie but is more of a tangent and less of a core member of the franchise—and that’s fine. Though Rogue One is steeped in the Star Wars mythos and, indeed, springs from it, it’s slightly less bound to that cosmic good-versus-evil trope that’s always been the franchise’s nucleus. That said, no Star Wars movie can entirely divorce itself from a handful of seemingly necessary motifs, which are repeated as gospel frame here: fathers are problematic, mentors are self-sacrificing, robots are funny, holograms have important messages, and the male and female lead must share some longing glances even in the middle of a deadly battle. And again, that’s fine—the franchise’s promise, even when the movies have been virtually unwatchable (ahem, Episode I), has been the constant building and rebuilding of its own components. That’s true in Rogue One.

Felicity Jones plays the perfectly windblown Jyn, a fugitive rebel who carries emotional scars inflicted by the Empire. She also happens to be the daughter of Galen Erso, the architect of the Death Star, played here by Mads Mikkelsen whose particular brand of strong and silent works in tandem with his character’s murky alliances. Since Star Wars occupies a galaxy where fatherhood is necessarily temporary and conflicted, Jyn is raised by the rebel extremist Saw Gerrera (Forest Whitaker) who gruffs with the appropriate amount of rough love. Though Galen’s allegiance might be unclear, what is always clear is that the Empire is the enemy and so we’re given Orson Krennic, a loyal Empire bureaucrat who sports a posh white cape, played with wonderful evil relish by Ben Mendelsohn.

Action set into motion, Jyn is forced to mount her own mission to steal the Death Star’s plan, joined by fellow rogues Cassian Andor (Diego Luna), Chirrut Imwe (Donnie Yen), Baze Malbus (Wen Jeng), Bodhi Rook (Riz Ahmed), and K-2SO, a droll reprogrammed Imperial droid voiced by Alan Tudyk. The cast is Rogue One’s greatest strength, all of the actors are aware of what kind of performance is expected and they deftly follow through. Jones has that aristocratic air a la Princess Leia, Luna swaggers, and Yen and Jeng ground the ensemble with their friendly chemistry. Unfortunately for the actors, they are, at times, undermined by both the script and the director.

There are moments when the movie feels as though the screenwriters were trying to shoehorn three separate movies into a single one and they struggle at points to bridge the multiple subplots. Director Gareth Edwards seems to realize that Rogue One is obliged to have cameos from canonical Star Wars figures like Darth Vader but doesn’t seem to quite know how to handle them. Those moments feel strained (Darth Vader puns), as the otherwise organic action comes to a complete halt to incorporate them. Otherwise, Rogue One is an enjoyable addition to the franchise and Jones’s Jyn is a compelling lead.

If Rogue One brings anything new to the Star Wars franchise, it’s a more realistic view of the rebellion. While there are heroics, there are no heroes, no Han Solo and Luke Skywalker collecting medals from an adoring Leia and a cheering crowd. Instead, as the Return of the Jedi indicated decades ago, “many died” to bring the Rebel Alliance the Death Star’s plans; Rogue One is their story.