john hannah