close #61 close #62 close #63, fixed bugs
merge