The first spin-off of the Star Wars cinematic universe, Rogue One: A Star Wars Story, starts on a familiar path: Trouble comes to a remote farm, where the hero of the piece is left orphaned. Jyn Erso (Felicity Jones) is abandoned when the Empire comes calling, dragging her scientist father, Galen (Mads Mikkelsen), back to complete the Death Star. Jyn is left to be raised by an old friend of her father’s, Saw Gerrera (Forest Whitaker). From here, Rogue One starts veering into fresh new territory as Jyn is not a Skywalker or a Jedi, and these are the darkest days of the Empire, before the Force reawakens, when the Jedi have been defeated and their one-time guards are left to beg on the streets.

The worlds that Jyn visits are dirty even by Star Wars standards, and Stormtroopers linger around every corner. Jyn herself is something of a street rat, with a rap sheet and a hardscrabble attitude that, at least in the beginning, separates her from the standard “plucky hero” type favored by Star Wars thus far. In fact, Rogue One is basically Seven Samurai for Star Wars, with the team consisting of six pretty tough customers. Besides actual criminal Jyn, there is Cassian Andor (Diego Luna), a Rebel assassin; K-2SO (Alan Tudyk), a reprogrammed Imperial droid; Bodhi Rook (Riz Ahmed), an Imperial deserter; and Chirrut Imwe (Donnie Yen) and Baze Malbus (Jiang Wen), former guardians of a Jedi temple.

At first glance, these are not your typical heroes, not least because this is a refreshingly diverse crew. Every face is different, and everyone is a hero, which means that ANYONE can be a hero. Perhaps Chirrut, with his dedication to the Force, could be considered a “classic” hero, but Jyn and Cassian are the leads of Rogue One, and neither one is especially heroic to start things off. And that’s GREAT. It’s INTERESTING. It provides fractious and engrossing character interactions, as Jyn and Cassian have competing goals and missions and don’t really like or trust one another but are forced to work together. For two-thirds of the movie, Rogue One gets by on the power of their salty relationship.

The movie needs that edge because there are some story problems early on that only resolve because the last act of Rogue One turns into a different movie. Don’t get me wrong—the last third of Rogue One is stellar unto itself. But Jyn and Cassian are completely different people in that final act, suddenly friendly—so friendly, in fact, you kinda want them to kiss—and Jyn goes from reluctant Rebel forced to fight as a get-out-of-jail-free card, to a stirring speechifier rallying the troops. Again, that’s okay as its own thing, but that’s not who Jyn is for much of the movie leading up to that point. It comes out of nowhere in act three.

Undoubtedly this is where the bulk of the reshoots went, because despite the darkest ending of any Star Wars film, Rogue One is oddly hopeful (the original cut must have been some bleak sh*t to require such extensive “fixing”). Sacrifice is necessary, and sometimes heroes don’t make it, but “rebellions are built on hope” and no matter what the odds, a few can defeat many by working together and never giving up. The message of Rogue One is especially poignant right now—you might lose this battle, but the war can still be won.

Which makes it SO FRUSTRATING that Rogue One, just like Force Awakens, will come to a grinding halt to acknowledge other Star Wars stuff. Much love to Jimmy Smits, but he’s completely superfluous—we don’t need smirky introductions to Princess Leia, literally one of the most famous film characters ever—and f*cking C-3PO is always shoving his shiny ass into these things to do exactly nothing useful. (Lainey may loathe BB-8’s famewhoring ways, but can we admit that C-3PO is The Worst droid?) And “reviving” Peter Cushing, who has been dead for over two decades, to play Grand Moff Tarkin is F*CKING HORRIFIC.

The longer we have to look at Tarkin’s plastic CG-face, the more disturbing it becomes. CG de-aging works in small doses, like the glimpse of Leia, but extended exposure only leads us into the uncanny valley. It would have been much better for Rogue One to give more time and villainy to Orson Krennic (Ben Mendelsohn) and his sweet space capes. As is, Krennic is totally undercut by Tarkin, reducing him to nothing but a sniveling bureaucrat and a largely pointless character who is only narratively useful in the opening scene.

Rogue One has a lot to recommend it. This is a likable bunch of rogues (pun intended), though not quite as instantly lovable as the Force Awakens crew. Characters get short-changed here for action, and that third act shift undoes a lot of what’s compelling about Jyn and Cassian. But it works more than it doesn’t, and the story itself feels fresher than Force Awakens because it isn’t a repeat of a previous Star Wars movie.

But they’ve got to knock it off with the winks to the older films because they’re hamstringing these movies. Rogue One’s $155 million opening weekend—a huge December number second only to Force Awakens—shows that people are willing to invest in Star Wars and buy into an expansive, multi-narrative cinematic universe. It’s time to let that universe truly expand.

(Lainey PS: Diego Luna and Riz Ahmed are SO hot in this movie.)