Zack Snyder’s Justice League is here, and we were lucky enough to watch it ahead of the final release on HBO Max this week, giving us some time to think about it. The film clocks in at four hours and two minutes including credits. It’s such a sprawling project, and the story around its very existence means that it almost defies review in a way few other movies do. Instead of trying to handle this very non-traditional movie with a traditional review, we’re going to take a different tack. Here are the things we loved (and a couple things we wish were different) about Zack Snyder’s Justice LeagueSpoilers follow, technically.

The visual FX are much better

For a movie like Justice League, this is incredibly important. It was one of the things that held back 2017’s Justice League (among many others), and made DC’s movies look amateurish in comparison to Marvel. Thanos was incredibly well-realized, and Steppenwolf looked like rushed CG. In Zack Snyder’s Justice League, I actually believe that these characters are all on-screen together, and the punches land harder as a result. Cyborg’s story has more impact. The Flash’s scenes look cooler.

There are very few shots in this movie that don’t have at least some CGI, so this more than almost anything else goes a long way toward making all the other elements of the movie feel coherent. Cyborg wouldn’t work without Ray Fisher, but Ray Fisher’s acting is enhanced by the visual effects. Similarly, I found myself a lot more interested in Steppenwolf throughout the film.

Killer action

If I was going to pick the one thing Zack Snyder does best, it’s action. The battles in 300 are iconic. The action in Watchmen was fun to watch even though it worked hard against the story that Alan Moore was trying to tell in that comic.

In Justice League, though, Snyder is firing on all cylinders with some amazing action scenes that put the characters’ abilities on display. Early on, there’s a sequence where Wonder Woman stops a bank takeover that, in the original Justice League, felt aborted and cheesy. The longer scene with better visual effects makes this scene exciting and satisfying. The scene where Steppenwolf takes the Mother Box from the Amazons was rad, too, with lots of awesome acrobatics and tactics.

I can’t think of a single fight scene that isn’t better for it this time around.

Going deep on DC lore

The extended runtime of Zack Snyder’s Justice League lets Snyder explore his story more deeply, and that means more time for things that help flesh out the greater DC cinematic universe. Instead of Steppenwolf being the villain of the film, it’s clear that he’s a lackey. Despite being so powerful that the heroes need to raise Superman from the dead, Steppenwolf is framed as a pitiful character vying for attention from his father figure, which makes Darkseid that much more frightening. One of the shots near the end has the Justice League staring at Darkseid and his cronies and it feels like a true comic-book moment.

We also meet and get hints of other DC characters like the Martian Manhunter, Ryan Choi’s The Atom, as well as some short but satisfying Lantern action, and these things have room to breathe.

Cyborg and Flash have actual arcs

This part is a bit of a mixed bag. Snyder makes good on his promise to give Cyborg a proper story arc, and the movie spends so much time on him that it almost feels like Snyder apologizing to actor Ray Fisher for the Cyborg movie not happening. The movie does a good job of giving us an insight into Cyborg’s mind and abilities. Considering that the character is a much newer addition to the League than his legendary teammates, it makes sense to some degree that the movie would spend more time on him than the others.

Flash, too, gets his due here. I didn’t really enjoy the whole scene with Kiersey Clemons’ Iris, as she has nothing to do other than get hit by a car, and while Barry is in Speed Force Time, he pauses to caress her hair and gaze at her, and it comes off not as cute or romantic but as kind of creepy. But aside from that, I like almost everything they do with the Flash. There’s some really cool use of his powers, and that Joss Whedon scene where he falls onto Wonder Woman’s chest is nowhere to be found thankfully. Ezra Miller does the awkward fast-talker bit really well, and I got a feeling for his relationship with his father, played by Billy Crudup, in the two scenes they share. There’s a sense of forward movement for Barry.

With that said, it feels like it’s at the expense of some of the other characters. Wonder Woman is the most ill-served, as she has almost nothing to do after her big action scene. She’s always there and part of the team, but doesn’t really have anything to do aside from being part of some truly rad supercombos. Batman, too, feels like he has little to do other than bring the team together. Admittedly, that’s partly because he’s outclassed by everyone he hangs out with in every physical category and this is very much an action movie, but it’s still disappointing, considering that this version of Batman will never get his own standalone film. At least Wonder Woman, Superman, and Aquaman each have theirs that we can go back to for more time with them.

Indeed, though, this movie really seems to belong to Cyborg. Before, it really didn’t belong to anyone. It didn’t feel like a team movie, and it didn’t feel like a character movie. It was just a mess of indecipherable comic-book action. Now, at the very least, Justice League feels like it has some form.

It feels like a single creator’s vision

There were a few things I liked about Whedon’s Justice League, but it was clear almost from the first scene that the movie was a rushed mess that came from the visions of at least two directors and, at times, executives. Zack Snyder’s Justice League feels like it earns the possessive at the beginning. It looks like a Snyder movie, it moves like a Snyder movie. This, more than anything, is what I think fans were asking for, and now it’s out there in the world, and it doesn’t feel like executives were tinkering with it.