fix #3 #4