properly require a word boundary after keywords