fixed #61
fixed #60
fixed #59
fixed #57
fixed #62
fixed #49