fix #20
fix #24