we need to retain trailing crlf