Greg Gamble posted this material on his blog and I want to acknowledge this page as coming from his work.
Thanks Greg.
P.S. I checked the original link and it no longer works, thus I have put this summary in place. Any errors or omissions are mine.