fix #34
fix 32
fix #31