fix #3 #7