fix #9 #10 #11