optionally end without newline