James Norton has admitted he found it a challenge getting into the mindset of a psychopath for Happy Valley.

But the London-born actor also revealed that portraying villain Tommy Lee Royce in the BBC One crime drama was "rewarding" because it pushed his skills.

"That was the hardest and the most rewarding part of it weirdly. It's always a pleasure for an actor to play someone completely distant from yourself and I'm not a psychopath hopefully and luckily, so it was a joy and a privilege to go into a mind which is so alien," he said.

"It was also an enormous challenge. It took quite a lot of time, research and work to find his thought processes. A lot of people think psychopaths are unfeeling, callous and clinical objects but that's not the case."

Putting himself into Tommy's shoes wasn't easy though.

"The hardest thing about it is that for Tommy, in his eyes, the world is a totally hostile place and so every action is justified and necessary in his eyes. If he doesn't attack, the world will attack him. So to try and go through these actions and these horrific scenes for me was abhorrent, but for Tommy, they are absolutely required for survival," the actor explained.

"That was the hardest thing - justifying them in your head. There can't be any doubt (when you're acting) - you have to really believe in what you're doing."

James had a two-hour meeting with a criminal psychologist to find out more about his character.

"The production company were fantastic - they put me in touch with this criminal psychologist who was at the Priory in Manchester and we spent two hours discussing Tommy. It was completely fascinating," he added.

Happy Valley, which also stars Sarah Lancashire and Steve Pemberton, begins on BBC One on April 29.