added preserveBlankLines option