Fixed goSectionDown and refactor Caret.set