diff --git a/README.md b/README.md
index c31d59350c0088cb55d104330dafd3cd8b714ae3..46d5d5184810180e2035e01a78ca9aae7854808f 100644
--- a/README.md
+++ b/README.md
@@ -18,6 +18,39 @@ il y a 2 codes de tests dans `projects` :
 il est possible de changer de sampler pour faire quelques comparaisons, il suffit de modifier le typedef 
 au début des sources. les samplers eux mêmes sont dans :
 
-- projects/sampler.h : il y a le generateur standard c++ et 2 generateurs basés compteurs,
-- projects/sampler_sobol.h : la sequence sobol classique, avec max 128 dimensions, la version avec une évaluation "rapide" dans l'ordre des codes de gray
-- projects/owen_fast.h : les permutations d'owen (à utiliser sur un échantillon sobol).
+- `projects/sampler.h` : il y a un générateur standard c++ et 2 générateurs basés compteurs,
+- `projects/sampler_sobol.h` : la séquence sobol classique, avec max 128 dimensions, la version avec une évaluation "rapide" dans l'ordre des codes de gray, et les 2 acceptent un scrambling simple, random digit shift,
+- `projects/owen_fast.h` : les permutations d'owen (à utiliser sur un échantillon sobol).
+
+voila quelques suggestions, à faire (ou pas) dans l'ordre que vous préferrez.
+
+
+## réduction de dimensions
+vous pouvez appliquer les différentes stratégies de réduction de dimensions au path tracer : 
+
+- passer de 3d à 2d dans la sélection des sources, et dans la génération des directions en fonction des matières,
+- réutiliser les mêmes nombres aléatoires pour estimer les 2 intégrales, cf la fonction `direct_mis()`.
+
+le nombre de dimensions comsommées est affiché à la fin du calcul.
+
+j'ai "laissé" la dernière amélioration en place, qui permet d'économiser un rayon par rebond et par pixel.
+
+les matières sont dans `src/gltf/brdf.h` et les sources de lumières (uniquement des triangles émissifs) se trouvent dans `src/gltf/sources.h`.
+
+
+## sélection des sources
+vous pouvez également modifier la stratégie de sélection des sources dans `src/gltf/sources.h`. la solution actuelle construit une variable aléatoire discrète et inverse sa cdf pour sélectionner une source proportionnellement à son aire.
+
+et par rapport à son angle solide ? c'est mieux ou pas ? dans quels cas ?
+
+cf [wikipedia](https://en.wikipedia.org/wiki/Solid_angle#Tetrahedron) pour calculer l'angle solide d'un triangle
+
+## multiple importance sampling
+vous pouvez facilement modifier l'heuristique utilisée pour combiner les 2 stratégies dans la fonction `direct_mis()`.
+ie utiliser balance au lieu de power comme c'est le cas dans le code.
+
+il y a 2 estimateurs MIS, la version "multi-sample" et la version "one-sample". que faut-il modifier pour écrire la version "one-sample". quelles sont les différences en temps de rendu, en erreur ?
+
+## owen
+il y a un bug numérique dans les permutations d'owen, cf `projects/owen_fast.h`. vous pouvez vous en rendre compte en comparant les images calculées avec Owen et OwenFast pour peu d'échantillons (< 16).
+