pull word normalization logic into a private method