http://www.ecn.nl/docs/library/report/2006/c06009.pdf