See also:

  http://noether.uoregon.edu/~jl/gmsk/

