use LF for newline