The DC universe gets its best movie since Wonder Woman with Shazam!, a fun—and sometimes shockingly dark—blast of comic book superhero fantasy. While a little sloppy at times, the movie works thanks to its central performances and warmhearted core. Zachary Levi proves an excellent choice to play the title character, the net result of a 14-year-old boy being handed super powers by a wizard (Djimon Hounsou). That boy is Billy Batson (Asher Angel), a foster child in search of his real mom. When he yells “Shazam!” a lightning bolt blasts him in his melon, and he becomes the glorious, red-suited, white-caped superhero, albeit a superhero with a 14-year-old’s brain. This gives Levi the chance to do a Tom Hanks-in-Big kind of shtick, and he’s good at it. The new Shazam, who goes by various names, including Captain Sparkle Fingers, gets coached by his superhero-obsessed sidekick and foster brother, Freddy (Jack Dylan Grazer). Freddy is one of the big reasons this movie works despite its flaws. Grazer employs the same kind of whip smart line delivery that made him one of the more memorable kids running away from Pennywise.