big update, correct some bugs and optimize some user experience