Captain W. G. D. Cheyne Macpherson