replace all non-word characters with underscores