fix #185
fix #180
fix #181
fix #184