Split out handle_punctuation & handle_word, makes things cleaner