fix #21
fix #23