Author: J.L. Hall B.Sc., D.Phil., A.R.CS.