fix #20
fix #79