refactor WordCount*