Here’s a quick guide to Seth Gabel’s movies and TV shows. American actor Seth Gabel is probably best known for his main role as Puritan minister and witch hunter Cotton Mather on the WGN America's Salem. He played the god-fearing Cotton Mather on all three seasons of Salem, but the actor was working long before he nabbed his role on the supernatural historical drama.

Seth Gabel’s first-ever TV role was playing a witness to a strange, Bigfoot-like cryptid known as the Skunk Ape in a recreation featured in an episode of Unsolved Mysteries that aired back in 1998. Soon after, Gabel took uncredited parts in the movies Tadpole and A Beautiful Mind before one-off roles on TV shows like Sex And The City and The Division beckoned. His first real role of note, however, came playing Adrian Moore – the teenage sociopathic son of Famke Janssen’s Ava – on the second season of FX drama Nip/Tuck.

Related: Salem Season 4 Updates: Story, Release Date, Will It Happen?

In 2006 Seth Gabel landed his first credited film role playing a clergyman named Michael in the Tom Hanks-fronted thriller The Da Vinci Code. Between 2007 and 2009, Gabel had a main role on ABC's Dirty Sexy Money as Jeremy Darling, the troubled son of Donald Sutherland’s character Tripp. 2010 was a big year for Gabel, who kick-started the decade with a four-episode stint as Kate Gregson’s (Brie Larson) boyfriend Zach in the second season of Showtime comedy-drama United States Of Tara alongside a meatier role playing FBI agent Lincoln Lee on the Fox sci-fi series Fringe.

Fringe Seth Gabel

Post-Fringe, Seth Gabel joined the cast of Arrow in a recurring role as supervillain Count Vertigo (AKA Cecil Adams) and although TV work has been the actor’s bread and butter, he’s had a handful of movie roles since The Da Vinci Code too. He had a blink-and-you’ll-miss-it appearance as an advisor to Aidan Quinn’s President Ulysses S. Grant in the 2010's Jonah Hex and a small role in the 1980s-set romantic comedy Take Me Home Tonight. He also had a starring role as Lieutenant Danny Sefton in the 2012 war film Allegiance and appeared in 2015 indie Forever.

More recently, Seth Gabel took on the role of serial killer Jeffrey Dahmer in American Horror Story: Hotel. He played two more real-life figures – Swiss-Italian engineer Michele Besso and French poet Guillaume Apollinaire – in the first two seasons of Genius and played investor John Rice in a season 4 episode of Billions titled “A Proper Sendoff.” When he’s not acting, Seth Gabel is busy raising his two kids - Theodore Norman Howard-Gabel and Beatrice Jean Howard-Gabel – with fellow actor and wife Bryce Dallas Howard.

Next: Dominic Cooper Movies & TV Shows: Where You Know The Preacher Star