def tokenize(self):
        if not self.quiet:
            print
            print "Finding compound words..."
        compound_word_dict = {}
        for compound_length in range(5,1,-1):
            compound_word_dict[compound_length] = [name for name in self.names if len(name.split()) == compound_length]
        current_index = 0
        finished = False
        while not finished:
            for compound_length in range(5,1,-1):
                if current_index + compound_length - 1 < len(self.unit_list):
                    compound_word = ""
                    for word in self.unit_list[current_index:current_index + compound_length]:
                        compound_word += " " + word.text
                    compound_word = compound_word.strip()
                    if compound_word in compound_word_dict[compound_length]:
                        self.make_compound_word(start_index = current_index, how_many = compound_length)
                        current_index += 1
                        break
            else:
                current_index += 1
                if current_index >= len(self.unit_list):
                    finished = True