some big change
modify some bugs