fixed for trailing newline