fix bugs, and sorry