part 1  :  tests and fix the faild one