fix #76
fix #75
fix #71
fix #70
fix #65
fix #64
fix #62