fix #34
fix #36
fix #32