fix #134
fix #136
fix #138
fix #139