Harry Potter fans who were wondering why the boy wizard named his son after one of the series supposedly most villainous characters, your questions have been answered. Literally.

Author J.K. Rowling took to Twitter over the weekend to discuss why her most famous literary creation would have named his child 'Albus Severus Snape' after fans questioned why he would honour the man that caused him so much misery at Hogwarts.

Needless to say, if you haven't read til the end of Harry Potter, there are spoilers below: