outline structure of the algorithme/implementation