Source: http://www.cmcl.it/~cmcl/virgin.pdf