Modifié depuis github 2