BBC One is exploring the haunting real life story of serial killer Charles Sobhraj in gripping drama, The Serpent.
Sobhraj was the key suspect in multiple murder cases which involved Western "hippies" who were travelling around Asia in the 1970s.
Tahar Rahim takes on the lead role opposite former Doctor Who and Victoria star, Jenna Coleman, who plays his girlfriend.
Throughout the eight-parter, we see Herman Knippenberg (played by Billy Howle in The Serpent cast) try to track down the suspect while working as a junior Dutch diplomat in Bangkok.
Read on below to find out all you need to know about The Serpent cast, and which based-on-real-life characters they play.
Tahar Rahim plays Charles Sobhraj
Who is Charles Sobhraj? An international serial killer (nicknamed "The Serpent" and "The Bikini Killer") and the chief suspect in a dozen unsolved murders across India, Thailand and Nepal through 1975 and 1976. You can find out more about The Serpent true story here.
Where have I seen Tahar Rahim before? The actor has also starred in BBC Two’s The Looming Tower (where he played Ali Soufan) and the film Mary Magdalene (as Judas). Other projects include The Project, The Eddy, The Past, and Black Gold.
Jenna Coleman plays Marie-Andrée Leclerc
Who is Marie-Andrée Leclerc? Charles Sobhraj's partner and frequent accomplice, who often goes by the name of Monique.
Where have I seen Jenna Coleman before? She got her big break as Clara in Doctor Who, but she's also known for her title role in ITV's Victoria, in addition to roles in Me Before You, The Cry, and Captain America: The First Avenger.
Billy Howle plays Herman Knippenberg
Who is Herman Knippenberg? A "square" junior diplomat at the Dutch Embassy in Bangkok, who becomes embroiled in Charles Sobhraj's web of deception after he becomes aware of two missing Dutch backpackers.
Where have I seen Billy Howle before? Howle recently played Caden Finch in MotherFatherSon, and Rey's father in Star Wars: The Rise of Skywalker. He's also starred in Dunkirk (as Petty Officer) and Netflix's Outlaw/King.
Ellie Bamber plays Angela Knippenberg
Who is Angela Knippenberg? Herman's German wife; she speaks multiple languages and becomes invested in her husband's investigation.
Where have I seen Ellie Bamber before? She played Cosette in the recent BBC One adaptation of Les Misérables, opposite Dominic West, and played Mandy Rice-Davies in factual drama The Trial of Christine Keeler. She's also starred in Pride and Prejudice and Zombies, The Musketeers, and The Nutcracker and the Four Realms.
Amesh Edireweera plays Ajay Chowdhury
Who is Ajay Chowdhury? Charles Sobhraj's second-in-command, he helps lure in Western travellers.
Where have I seen Amesh Edireweera before? This is the stage actor's first major television role.
Fabien Frankel plays Dominique Renelleau
Who is Dominique Renelleau? Dominique Renelleau is a Frenchman who is introduced as an employee of Charles Sobhraj's.
Where have I seen Fabien Frankel before? Frankel played Fabian in the festive film Last Christmas, and also starred in the TV film NYPD Blue.
- For the latest news and expert tips on getting the best deals this year, take a look at our Black Friday 2021 and Cyber Monday 2021 guides.
Mathilde Warnier plays Nadine Gires
Who is Nadine Gires? Nadine Gires is a neighbour of Charles Sobhraj's, and an eventual ally of Herman Knippenberg.
Where have I seen Mathilde Warnier before? The French actress is known for roles in the likes of The Widow, Caprice, Wild Boys, Dynasty, and World on Fire.
The Serpent will begin on New Year's Day, 1st January at 9pm on BBC One. Looking for something else to watch? Check out our guide to the best TV series on Netflix and best movies on Netflix, or visit our TV Guide.