fixed #75
fixed #76
fixed #74
fixed #77