http://www.ucl.ac.uk/slade/slide/docs/sffaf2.html