fixed no newline at eof