https://www.assimil.com/en/articles/5-the-assimil-method