fix some bugs :D