no newline
simplify format function