See Phillip Ball for details