hyphenation logic