http://www.ecn.nl/docs/library/report/2005/c05034.pdf