http://www.damtp.cam.ac.uk/user/gr/public/qg_ss.html