added line ending normalization