http://www.uclouvain.be/cours-2015-WMD1106