string processor