update and correct some faults