use g_string_sized_new() instread of g_string_new() to avoid often reallocation action