Add Xavier Gillain's solutions
Improve existing solutions