After last year’s critical drubbing of Zack Snyder’s Batman v. Superman: Dawn of Justice, we were promised a lighter and more hopeful movie in Justice League—which signals the final film that Snyder will direct for the DCEU he helped create. Following a crop of solo superhero movies featuring Ben Affleck (Batman), Henry Cavill (Superman), and Gal Gadot (Wonder Woman), Snyder adds Ray Fisher (Cyborg), Ezra Miller (The Flash), and Jason Momoa (Aquaman) to the fold to bring the Justice League together onscreen for the first time.

The movie takes place shortly after the tragic ending of BvS, with Superman’s death rocking the world and setting off a domino effect that has put the world in grave danger. Batman, guilty for his role in Superman’s demise, is aware of the threat and attempts to bring together a team to stop it once and for all. The storyline is fairly straightforward and puts a focus on introducing and redeeming the characters that Snyder deconstructed in BvS and to a lesser extent Man of Steel. The addition of scenes that were added/reshot by Joss Whedon adds a lightness that had been missing from the previous films—allowing characters like The Flash to break the tension, and letting Batman finally evolve into the cranky old vigilante that we love.

Justice League is not without its faults though—there’s a looming sense of incompleteness here (I’ll get into that in greater detail later) that threatens to ruin DC’s coming out party. But all in all, Zack Snyder’s Justice League crafts a contained and low-stakes movie that should please people who hated the pessimistic and operatic vibe of BvS, and also make the fans who have waited for this team-up happy as well. So, what worked (and didn’t work) with Justice League? Find out below.

What Justice League Got Right

Batman Justice League
Image via Twitter

The Team Up: We’ve waited years for this to happen onscreen—and I’m happy to say that Justice League delivers on the pure fanboyish joy of seeing Batman, Superman, Cyborg, Aquaman, Wonder Woman, and The Flash standing beside each other. More than that, the casting of the principal characters works in spades with each of them bouncing off of each other in different ways. The building relationships between Cyborg and The Flash is a comedic highlight, while seeing Diana and Bruce go at each others necks as the de-facto leaders of the League built the right amount of tension. Justice League got the characters right while also making you long for more, which has been an incredibly hard thing to do within the DCEU at large.

Superman Being Superman: It took three movies, but Justice League finally gives us the version of Superman we’ve been waiting for. After being dragged and put through the worst rookie year of his life, the Man of Steel (surprise!) gets revived and gets restructured into the beacon we know and love. His death is a looming spectre over the first half of the movie, and after he’s brought back (thanks to the stubbornness of Bruce Wayne) we are given a chance to re-establish why he is the deserving leader of the League. He isn’t moping and being played as the whipping boy here—the Clark/Superman story comes to a rousing conclusion in this movie.

Ezra Miller: A lot of fans made a fuss about the casting of Miller as The Flash—causing a multiverse of fancasting problems as they wanted to see CW TV’s Grant Gustin in the role—but after Justice League they’ll have to admit fault. He’s by far the heart of the movie. In a story where these new characters are coming into themselves and getting used to their powers, The Flash represents “us.” He reacts in fear to the truly crazy shit he sees on screen, and has some pretty damn funny quips for everyone in the cast. He balances out the lighter tone of Justice League, and he has some really cool hero moments that people will be talking about far after the movie is over. Miller also shows some of his more challenging acting chops beside The Flash’s father (played by Billy Crudup) in a few scenes, connecting the audience with a character we’ll surely be seeing more of in the DCEU. Bring on Flashpoint!

Ben Affleck: Whether he comes back or not, I think it’s time to give Ben Affleck’s run as Batman its just due. Playing the Tony Stark role in bringing the Justice  League together, his story of redemption falls in line with Superman’s revival. Affleck has managed to find the right pocket between a great Bruce Wayne AND Batman, who is begrudgingly learning to trust people again in Justice League. And while Gal Gadot has yet another strong performance as Wonder Woman, and I feel that Ray Fisher’s Cyborg is one of the more underrated performances in the movie, neither of them congeal the way that Affleck does in his second appearance in the cape and cowl.

What Justice League Got Wrong

Henry Cavill, Superman, 'Justice League'
Image via Twitter

Feels Unfinished: It’s no secret that Justice League has had a troubled production, and it shows. From the attempts to cover Henry Cavill’s facial hair to the obvious green screen in the  Kansas/Gotham scenes and Steppenwolf, there’s bad, unfinished CGI that sticks out like a sore thumb. There’s also truly perplexing editing that makes the movie look like a stitched together Zack Snyder/Joss Whedon lovechild. The biggest example of this being the complete tonal shift between an opening scene with Batman that goes into a trademark Snyder intro/credits crawl that nearly starts the movie off on the wrong foot. It misses the visual flair and polish that we expect from Snyder—and it’s extremely noticeable. However, Justice League happens to be a rare movie that is a complete mess, but somehow works—in a way that Suicide Squad couldn’t.

Steppenwolf: It’s becoming a running joke now that if you read this column, that the villian/third act of the movie will be in this section. Steppenwolf is the same serviceable punching bag disguised as a big bad that we’ve seen over and over again. He highlights a huge problem with the movie, especially when Superman comes back—you don’t feel like these characters can lose, and it hurts the movie somewhat.

Might Have Been TOO Short: At a brisk two hours, Justice League is  the shortest of the Zack Snyder trilogy of movies. And in this case, that may be a bad thing. Coupled with the slapdash editing mentioned above, you almost feel like you are watching the beginning of an awesome origin story—and then it ends. While the movie is lean and easy to follow, it’s also detrimental to the impact of certain scenes. Bruce and Diana’s quarrel isn’t given time to develop into their eventual make-up, and Superman’s return happens almost instantly. It almost feels like WB got cold feet after Snyder’s departure and decided to cut back on something that had the potential to be even better, and longer, than what we got.