string::append(char*,int) is more efficient than string+=string(char*,int)
comment future perf enhancement