John David Hannah (n.