use StringComparer.OrdinalIgnoreCase to avoid ToLower or ToUpper