fix #71
fix #70
 fix #69
fix #68