added punctuation insensitivity