better punctuation detection