fix #64
fix #65
fix #63
fix #52