Anderson's next film was the 2011 3D romantic action adventure film "The Three Musketeers", from a screenplay by Andrew Davies and Alex Litvak based on the novel of the same name. Matthew Macfadyen, Ray Stevenson, Luke Evans and Logan Lerman respectively star as the characters from the novel Athos, Porthos, Aramis, and d'Artagnan, while Milla Jovovich plays Milady de Winter. Furthermore, Christoph Waltz stars as Cardinal Richelieu, Orlando Bloom plays the Duke of Buckingham and Mads Mikkelsen appears as Captain Rochefort. The film failed to impress critics who reviewed it negatively, and scored a B on a Cinemascore poll. Commercially it did not perform very well, grossing around $132–140 million on a reported budget that ranges between $75 and 90 million.