fix #27
fix #30