add option to return unjoined buffer
allow circumventing html escape with an html string function