le code est code entierement en anglais, sauf les commentaires