See also http://www.brunningonline.net/simon/blog/archives/001069.html and http://www.brunningonline.net/simon/blog/archives/001477.html.