add StringEx