https://problemregion.pages.dev/posts/breaking-down-which-character-classes1700664/