outsource string ops