adding stopwords and caching of first-word lookups