Returns NumberOfWords as a separate field, a bit more refactoring and code clean up