improve some function and modify bug