The beloved Broadway play "Annie" gets a modern update with a big-screen version starring Cameron Diaz as Miss Hannigan, Jamie Foxx as Benjamin Stacks and Quvenzhane Wallis as the titular orphan.

The story is the same one we already know and love - an orphan girl gets taken in by a wealthy businessman and eventually wins over his heart.

Instead of Daddy Warbucks, Foxx plays Stacks, a man running for public office who needs Annie to help soften his image. Diaz plays the spiteful head of the orphanage who sees an opportunity when Stacks borrows Annie for his campaign.

It's unusual seeing Diaz playing such a snarky role, but she somehow manages to pull it off. Foxx is believable as an aspiring mayor with a soft spot, and Wallis (who hit the radar in 2012's "Beasts of the Southern Wild")  is absolutely adorable.

The film doesn't hit theaters until December, but you can get a taste of what it offers in the trailer below: