use StringValuePtr instead of StringValueCStr to seed up performance