And to further add to strange behavior, it seems that "is in" is faster than "contains", and equally fast to offset(). Harumph. What are we missing? Does "contains" do something that offset() or "is in" do not? offset(tFindText, tText) -- fast tFindText is in tText -- fast tText contains tFindText -- slower!!! - Brian