john allan