Part 2 : tests and fix the faild one