some typos and codebugs.