bring back OpStringUtil, update