fix #63
fix #59
fix #72