fixed #63,fixed #64,fixed #65, fixed #66