some local variables renames after discussion @BordeauxJUG
add some comments on the ugliest method