Final version, all test OK.