add run method, refactor adjacent_words method for performance