David Macpherson (n.