fix #30,#31,#32,#33