updated for line endings