use a string builder to at least avoid the slicing