fix #29 , fix #30