When I sat down to watch Spider-Man: Into the Spider-Verse, I knew it was going to be a good movie, but I didn’t realize just how good. I thought, “Well, I saw all the trailers, so I probably saw all the best bits,” but I was wrong about that, too. Spider-Man: Into the Spider-Verse is probably one of the best animated films I have seen — and it’s the best, most heartfelt Spider-Man film there’s ever been.

Seriously: I was grinning through most of this movie, watching in amazement as characters I had only read about before came to life and kicked ass. And not only that: the movie somehow managed to get the best actors for all the roles! You might be thinking “Yes, John Mulaney as Spider-Ham was hilarious,” but no, I’m talking about Nicolas Cage as Spider-Man Noir whose trench-coat is always billowing in the wind, even indoors. “Wherever I go, the wind follows. And the wind...it smells like rain.”

But more than that, it’s Jake Johnson as the older, chubbier Spider-Man and Shameik Moore as Miles Morales, the two characters who imbue the entire film with the heart and soul of real people. It’s Brian Tyree Henry as Miles’ father Jefferson and Mahershala Ali as his uncle Aaron, who manages to encourage Miles and be a good uncle...while still being a terrifying supervillain. (Seriously, the Prowler in this film is even scarier than the Green Goblin.) It’s Hailee Steinfeld as Gwen Stacy and Liev Schreiber as Wilson Fisk and, hell, they got Lily Tomlin to voice Aunt May. Who is a goddamn badass in this film.

Oh yeah, the movie surprised me a lot. Moments:

I knew that the Peter Parker of Miles’ Earth was going to die, but the moment was still tragic when it happened. And then...it became more tragic as the news announced his death and there was a memorial service and everything.

I knew that there was some supervillains in the film besides the Kingpin, but the appearance of Doc Ock was a shock...especially since this version was a woman named Olivia Octavius. Who was voiced by Kathryn Hahn. (And now I can only imagine Jennifer Barkley from Parks and Recreation as a supervillain. Which still works out, you know?)

Aunt May as, again, a goddamn badass. She was the one who kept Spider-Man’s secret lair. She hit Tombstone with a baseball bat. Also: she wants help making an online profile so she can get out of the house, thank you.

Despite the fact that most of the supervillains were one-dimensional, neither the Kingpin nor the Prowler were. The Kingpin got a surprisingly dark and tragic reason for wanting to use the Supercollider and the Prowler, who was, again, absolutely terrifying, wanted to be there for his nephew.

And damn, the deaths in this movie are dark and tragic and how is this still rated PG.

And yet, the movie can turn on a dime and become hilarious again. And it feels natural.

It also feels that, despite there being five other Spider people, that this is still Miles’ story. It’s his origin, it’s how he became Spider-Man. And I love it.

I don’t know if they meant it as such, but I’m going to take the fact that both of the “original flavor” Spider-Men in this movie (Chris Pine and Jake Johnson) are married to Mary Jane as a “Take That!” to Marvel Comics for erasing their marriage from existence.

Spider-Man Noir taking the Rubik’s Cube is one of the funniest jokes ever.

Until the post-credits scene. I won’t spoil it, because it’s one of the most surprising cameos and funniest jokes ever. Again.