line endings and whitespace