Netflix's mind-bending German sci-fi Dark is returning for a third and final season, as the time loop finally reaches an end.
The show has a pretty monumental cast - with some characters played by up to three different actors across various time periods - but we've provided some info about the main players here...
Louis Hofmann plays Jonas Kahnwald
Who is Jonas Kahnwald? The show's main protagonist, Jonas is a teenager who finds himself at the centre of Dark's great time travel mystery - he is particularly determined to close the time loop and is seen as a hugely significant figure in solving the mystery. It was Jonas' father, Michael Kahwald, whose death seemed to begin the series of events depicted in the show.
What else has Louis Hoffman been in? Hoffman first role of note in Germany was the title role in an adaptation of Tom Sawyer, while he later won an award for his performance ins the Danish 2015 war film Land of Mine. Big screen appearances have also included minor roles in the Jennifer Lawrence-starring Red Sparrow and the Ralph Fiennes-directed The White Crow.
Andreas Pietschmann plays an adult version of Jonas, while Dietrich Hollinderbäumer plays Adam - an even older, facially disfigured version of Jonas who fulfills a special role in the time loop.
Lisa Vicari plays Martha Nielsen
Who is Martha? Martha is a fellow student and the love interest (and, technically, aunt) of Jonas, but she appears to have died at the end of the second season, only for an alternative version of the character to appear right in the closing moments. It is this version of Martha, from a different world, who appears in Dark season three.
What else has Lisa Vicari been in? Vicari recently played the female lead in the German Netflix original film Isi & Ossi, while she also played the titular character in the 2017 thriller Luna.
Barbara Nüsse plays Eva - an older version of Martha who is her world's version of Adam.
Lisa Kreuzer plays Old Claudia Tiedemann
Who is Claudia Tidemann? In the 1986 timeline Claudia was the director of the Winden power plant, but she became irreparably tied up in the time travel game - positioning herself in opposition to Sic Mundus, an organisation of which Adam is the leader.
What else has been in? Kreuzer's long film and TV career in Germany has seen her appear in a wide range of role, with over 120 credits to her name. Highlights include the TV series Der Bozen Krimi and the 1977 Wim Wenders film The American Friend - while she also had a minor role in Wes Anderson's The Grand Budapest Hotel.
Oliver Masucci plays Ulrich Nielsen
Who is Ulrich? Martha's father and a Winden police officer, Ulrich is initially responsible for the investigation into the missing people in the town, but he ends up accidentally travelling to 1953, where he is locked up after he tries to kill the child version of Helge Doppler - the adult version of whom he believes is behind the missing children. He ends up locked in a psychiatric facility for more than 33 years after being apprehended by Egon Tiedemann.
What else has Oliver Masucci been in? Aside from Dark, Nielsen is most well-known for playing Adolf Hitler in Look Who's Back, a German satire film from 2015. Last year he appeared in the German film adaptation of Judith Kerr's When Hitler Stole Pink Rabbit, while he is set to appear as legendary German filmmaker Rainer Werner Fassbinder in the upcoming Enfant Terrible
Jordis Triebel plays Katharina Nielsen
Who is Katharina? The head-teacher at Winden's school, Katharina is Ulrich's wife and is initially sceptical when told about time travel - although she later comes to accept that it must be true. At the end of season two we found her exploring near the caves, where the portal is located.
What else has Jordi Triebel been in? Triebel has appeared in a range of film and TV projects in Germany, including the films Westen, Emmas Gluck and Ein Atem, all of which have seen her nominated for German Film Awards - including a win for her performance in Westen.
Maja Schöne plays Hannah Kahnwald
Who is Hannah? Jonas' mother, Hannah is having an affair with Ulrich at the start of the series. After she learns of time travel thanks to the adult version of her son, she ends up travelling to 1953 where she poses as Katharina Nielsen and considers helping to free Ulrich. However after visiting him in his cell she decides against it as she doesn't believe he will leave his wife for her. Cold...
What else has Maja Schone been in? Dark has become Scöne's best known role, but other career highlights include winning a German Actor Award for Best Actress in the 2011 film The Brand, starring in the miniseries Neu in unserer Familie and appearing in the 2008 film Buddenbrooks.
Karoline Eichhorn plays Charlotte Doppler
Who is Charlotte? Charlotte is Ulrich's partner in the Winden police force, and her investigation leads to her making several startling discoveries - including Ulrich's mugshot in 1953. In season two she was joined by another detective, Clausen, and is told about time travel by adult Jonas and Hannah. She also discovers that Aleksander Tiedemann buried radioactive waste in the power plant, something which could trigger the apocalypse.
What else has Karoline Eichhorn been in? Eichhorn started her screen career in the mid '90s with appearances in German films Drei Tage im April and Der Sandmann and has since wracked up a wealth of credits including starring in the kids TV programme 4 gegen Z.
Paul Lux plays Bartosz Tiedemann
Who is Bartosz? Jonas' best friend, Bartosz finds that his friends (Martha, Magnus and Franziska) turn against him when he agrees to join forces with a mysterious priest named Noah, but later wins their support again after explaining the time machine and taking them to 1987.
What else has Paul Lux been in? Dark is the most prominent role of Lux's career to this point, but he has also appeared in the films Die Vermessung der Welt and Raus in 2012 and 2018 respectively.
The rest of the cast includes, among others:
Stephan Kampwirth as Peter Doppler, Carlotta von Falkenhayn as Elisabeth Doppler, Daan Lennard Liebrenz as Mikkel Nielsen, Moritz Jahn as Magnus Nielsen, Gina Stiebitz as Franziska Doppler, Sandra Borgmann as future Elisabeth, Lydia Makrides as Regina Tiedemann, Hermann Beyer as Helge Doppler, Sebastian Hülk as young Egon Tiedemann, Christian Pätzold as old Egon Tiedemann, Sebastian Rudolph as Michael Kahnwald, Angela Winkler as Ines Kahwnald, Hans Diehl, Jakob Diehl and Claudie Heinrich as "the unknowns" and Christian Steyer as HG Tannhaus.