first pass on text