fix #27
fix #29