blacklist can be more efficient and case-insensitive, sheesh