in can't, won't, isn't, and the possessive 's). Depending on the language, T9 also supports word breaking after punctuation to support clitics such as l' and n' in French and 's in English. The UDB is an optional feature that allows words that were explicitly entered by the user to be stored for future reference. The number of words stored depend on the implementation and the language. In later versions of T9, the order of the words presented is adapted to the usage pattern. For instance, in English, 4663 matches "good", "home", "gone", "hood", etc. Such combinations are known as textonyms; e.g., "home" is referred to as a textonym of "good". T9 is encoded to prefer the word that its programmers determined to be the most common "textonym", such as "good" over "home" or "gone", "hand" over "game", or "bad" over "cad" or "ace". When the user tends to use "home" more often than "good", eventually the two words switch position, and "home" is presented as the default option instead. Information about common word combinations can also be learned and stored for future predictions (so, "I'm feeling" followed by 4663 will be offered as "good" instead of "home", whereas "I went back" and 4663 would be "home", not "good"). For words entered by the user, word completion can be enabled. When the user enters matching keypresses, in addition to words and stems, the system also provides completions. In later versions of T9, the user can select a primary and secondary language and access matches from both languages. This enables users to write messages in their native language, as well as a foreign one. Some implementations learn commonly used word pairs and provide word prediction (e.g. if one often writes "eat food", after entering "eat" the phone will suggest "food", which can be confirmed by pressing Next). T9 can automatically recognize and correct typing/texting errors, by looking at neighboring keys on the keypad to determine an incorrect keypress. For example, the word "testing" is entered with the key combination "8378464". Entering the same number but with two incorrect keypresses of neighboring keys, e.g., "8278494" results in T9 suggesting the words "tasting" (8278464), "testing" (8378464), and "tapping" (8277464). Algorithm In order to achieve compression ratios of close to 1 byte per word, T9 uses an optimized algorithm that maintains word order and partial words (also known as stems); however, because of this