my modification with some errors

not finished yet !