column number starts from 0, and buffer must be clean.