move lexicon smoothing to separate module