“Is that everyone?”

“What? You wanted more?”

It’s the perfect couplet of lines, coming in towards the end of the movie, to sum up AVENGERS: ENDGAME. After 22 films and introducing dozens of characters, everyone expected the finale of the Infinity Saga to throw a whole lot of things up on the screen. But man, there was a lot going on with this film. It’s surprising they managed to keep the run time down to just over three hours.

After the downer ending we got with AVENGERS: INFINITY WAR to set up the final chapter, it was so important for this movie to stick the landing. There was so much to process here, and multiple viewings are going to be required to let it all set in.

As promised by the trailers, a lot of the movie was Avengers who survived Thanos’ genocidal snap learning how to cope with their new surroundings. Unsurprisingly, they’re incapable of leaving things the way they are. There’s a lot of existential angst in the first hour or so of the film, it may as well have been an early-2000s indie film. But that’s one of the strengths of the Marvel Studios films – making each one a different genre so the stories they tell don’t get repetitive.

At three hours, ENDGAME has the time to explore more than one, jumping from personal interactions between the survivors to a heist film before settling in to the action that we were all waiting for. The movie could have easily spent its whole run time in another massive battle, but I don’t think that would have been as satisfying. We needed some more time with the Avengers before we say goodbye.

While Thor was easily the star of INFINITY WAR, the emotional resonance of ENDGAME was split between the original Avengers. Most of the focus was put on Hawkeye, who was absent from the previous film. While Jeremy Renner is a great actor – and I know he has his fans as Hawkeye – his arc in the movie felt the least important to me, despite a clear spotlight on what Thanos’ snap meant to him. I was much more interested in the fractured relationship between Tony Stark and Steve Rogers, who haven’t seen eye to eye since CIVIL WAR.

After not sharing any screen time together in the last movie, being thrust together here to beat the big bad should have been an epic moment. And the movie starts off wanting to build to that moment of reconciliation, but it never really comes. They work with each other to make everything right, yes, and you can assume their relationship is strengthened by their quest, but I felt a little let down by the way they came back together.

Mark Ruffalo’s latest turn as Bruce Banner, though, was the biggest surprise, probably by design. His first appearance on screen in ENDGAME got a lot of gasps in the theater. Ruffalo has always been a fantastic supporting member of this ensemble, and I’m glad he got another chance to shine here.

With all the character beats, the movie builds so perfectly to the final battle, giving the kind of catharsis that can only come when you’ve spent a decade watching characters grow. It’s not a perfect movie – I think INFINITY WAR was better overall – but a lot of the problems I have with ENDGAME come down to some little nitpicks that I’m pretty sure would mean discussing spoilers. But anyone who followed any news about ENDGAME knew the film was going to include a level of time jumping to resolve the plot, and I hate time travel. Thinking about it gives me a headache. The plot device was used with a little bit more care here, which I appreciated, but I still think the film left us with some moments that, if you thought about what they meant to the larger picture, would likely be a little confusing.

But hey, no one ever called comic book continuity easy to follow. Why should a movie based on comic book characters be any different?

Despite the flaws, AVENGERS: ENDGAME is a satisfying end to 11 years worth of Marvel Studios films. Obviously, we have more coming with a new group of heroes taking up the mantle of lead characters, but if you wanted to walk away now, you certainly got a complete story that was worth the time put into it.