fix #57 #58 #48