Source: http://perso.numericable.fr/francerf/AOP-ouvert.pdf