How does the increasing adoption of AI systems in government bear on citizens affective ties to government authorities? This paper addresses this question drawing on social cognition theory and conceptualize AI systems as a social presence that can engender emotional responses. It tests the argument that AI use leads to a transfer of low perceived warmth of AI systems to government decision-makers. It probes the mechanisms behind this relationship by examining how is conditioned by perceived social distance of AI systems and the power asymmetries to which citizens are exposed in a decision-making context. The analysis also examines whether prior trust and transparency about AI influence on decisions attenuate the presumed transference. Based on data from a survey containing a vignette experiment, the study finds that XYZ.
# Set Global Optionsknitr::opts_chunk$set(echo =TRUE, # Show code in outputwarning =FALSE, # Hide warningsmessage =FALSE, # Hide messagesfig.width =7, # Set figure widthfig.height =5, # Set figure heightfig.align ="center"# Align figures in the center)sessionInfo()
R version 4.3.1 (2023-06-16 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 11 x64 (build 22631)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.utf8
[2] LC_CTYPE=English_United States.utf8
[3] LC_MONETARY=English_United States.utf8
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.utf8
time zone: Europe/Oslo
tzcode source: internal
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] htmlwidgets_1.6.4 compiler_4.3.1 fastmap_1.2.0 cli_3.6.2
[5] tools_4.3.1 htmltools_0.5.8.1 rstudioapi_0.17.1 yaml_2.3.8
[9] rmarkdown_2.29 knitr_1.49 xfun_0.49 digest_0.6.34
[13] jsonlite_1.8.9 rlang_1.1.3 evaluate_1.0.1
Code
setwd("C:/Users/svein/OneDrive - NORCE/Prosjekter/fAIrgov/AI and dissatisfaction")library(kableExtra) # tidy tableslibrary(tidyverse) # ggplot, dplyr, and friends
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr 1.1.4 ✔ readr 2.1.5
✔ forcats 1.0.0 ✔ stringr 1.5.1
✔ ggplot2 3.5.1 ✔ tibble 3.2.1
✔ lubridate 1.9.4 ✔ tidyr 1.3.1
✔ purrr 1.0.2
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::group_rows() masks kableExtra::group_rows()
✖ dplyr::lag() masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Code
library(ggplot2)library(haven) # Read Stata fileslibrary(broom) # Convert model objects to tidy data frameslibrary(cregg) # Automatically calculate frequentist conjoint AMCEs and MMslibrary(survey) # Panel-ish regression models
Loading required package: grid
Loading required package: Matrix
Attaching package: 'Matrix'
The following objects are masked from 'package:tidyr':
expand, pack, unpack
Loading required package: survival
Attaching package: 'survey'
The following object is masked from 'package:graphics':
dotchart
Code
library(scales) # Nicer labeling functions
Attaching package: 'scales'
The following object is masked from 'package:purrr':
discard
The following object is masked from 'package:readr':
col_factor
Code
library(marginaleffects) # Calculate marginal effectslibrary(broom.helpers) # Add empty reference categories to tidy model data frameslibrary(ggforce) # For facet_col()library(patchwork) # Combine ggplot plots
Set Up Theme and Functions
Code
# Inspired by Andrew Heiss https://www.andrewheiss.com/blog/2023/07/25/conjoint-bayesian-frequentist-guide/#marginal-meanslibrary(ggplot2)library(scales) library(tidyverse)# Define theme function theme_nice <-function() {theme_minimal(base_family ="Jost") +theme(panel.grid.minor =element_blank(),plot.title =element_text(family ="Jost", face ="bold"),axis.title =element_text(family ="Jost Medium"),axis.title.x =element_text(hjust =0),axis.title.y =element_text(hjust =1),strip.text =element_text(family ="Jost", face ="bold",size =rel(0.75), hjust =0),strip.background =element_rect(fill ="grey90", color =NA))}# Set the default theme *after* defining ittheme_set(theme_nice())# Update default font settingsupdate_geom_defaults("text", list(family ="Jost", fontface ="plain"))update_geom_defaults("label", list(family ="Jost", fontface ="plain"))# Colors for heterogeneous effectsparties <-c("#1696d2", "#db2b27")# Functions for formatting things as percentage pointslabel_pp <-label_number(accuracy =1, scale =100, suffix =" pp.", style_negative ="minus")label_amce <-label_number(accuracy =0.1, scale =100, suffix =" pp.", style_negative ="minus", style_positive ="plus")
# Make a little lookup table for nicer feature labelsvariable_lookup <-tribble(~variable, ~variable_nice,"responseid", "Respondent-ID","r_31dmaik", " ","r_31dmaip", " ","r31_dmaiw", " ","admexp_goal", "The goal of the public servant's task","admexp_gender", "The public servant's gender","admexp_age", "The public servant's age","admexp_ai", "Whether the public servant used AI or not","teachexp_goal", "The goal of the teacher's task","teachexp_gender", "The teacher's gender","teachexp_age", "The teacher's age","teachexp_ai", "Whether the teacher used AI or not",) %>%mutate(variable_nice =fct_inorder(variable_nice))
Label and Reorder
Code
df_ncp <- df_ncp %>%mutate(admexp_goal =case_when( admexp_goal ==1~"Maximize learning outcomes", admexp_goal ==2~"Equalize learning outcomes",TRUE~as.character(admexp_goal) # Keeps other values ) %>%factor() %>%lvls_reorder(c(1, 2)),admexp_gender =case_when( admexp_gender ==1~"Female", admexp_gender ==2~"Male",TRUE~as.character(admexp_gender) ) %>%factor() %>%lvls_reorder(c(1, 2)),admexp_age =case_when( admexp_age ==1~"20s", admexp_age ==2~"40s", admexp_age ==3~"60s",TRUE~as.character(admexp_age) ) %>%factor() %>%lvls_reorder(c(1, 2, 3)),admexp_ai =case_when( admexp_ai ==1~"No AI involved", admexp_ai ==2~"AI involved",TRUE~as.character(admexp_ai) ) %>%factor() %>%lvls_reorder(c(1, 2)),teachexp_goal =case_when( teachexp_goal ==1~"Maximize learning outcomes", teachexp_goal ==2~"Equalize learning outcomes",TRUE~as.character(teachexp_goal) ) %>%factor() %>%lvls_reorder(c(1, 2)),teachexp_gender =case_when( teachexp_gender ==1~"Female", teachexp_gender ==2~"Male",TRUE~as.character(teachexp_gender) ) %>%factor() %>%lvls_reorder(c(1, 2)),teachexp_age =case_when( teachexp_age ==1~"20s", teachexp_age ==2~"40s", teachexp_age ==3~"60s",TRUE~as.character(teachexp_age) ) %>%factor() %>%lvls_reorder(c(1, 2, 3)),teachexp_ai =case_when( teachexp_ai ==1~"No AI involved", teachexp_ai ==2~"AI involved",TRUE~as.character(teachexp_ai) ) %>%factor() %>%lvls_reorder(c(1, 2)) )# Make a little lookup table for nicer feature labelsvariable_lookup <-tribble(~variable, ~variable_nice,"responseid", "Respondent-ID","r_31dmaik", " ","r_31dmaip", " ","r31_dmaiw", " ","admexp_goal", "The goal of the public servant's task","admexp_gender", "The public servant's gender","admexp_age", "The public servant's age","admexp_ai", "Whether the public servant used AI or not","teachexp_goal", "The goal of the teacher's task","teachexp_gender", "The teacher's gender","teachexp_age", "The teacher's age","teachexp_ai", "Whether the teacher used AI or not",) %>%mutate(variable_nice =fct_inorder(variable_nice))
H1a: AI use versus a human decision-maker leads to lower perceptions of warmth regarding the decision-maker. H1b: AI use versus a human decision-maker leads to higher perceptions of competence regarding the decision-maker.
Code
library(tidyverse)library(ggplot2)library(patchwork)# H1A# Plot with AI treatment only# Combine all marginal means into a single tidy dataframeH1_mm_combined_ai <-bind_rows( mm_admpost_comp %>%mutate(variable ="Competence", group ="Adm"), mm_admpost_intel %>%mutate(variable ="Intelligence", group ="Adm"), mm_teachpost_comp %>%mutate(variable ="Competence", group ="Teach"), mm_teachpost_intel %>%mutate(variable ="Intelligence", group ="Teach"))# Extract AI treatment values from the "value" columnH1_mm_combined_ai <- H1_mm_combined_ai %>%mutate(treatment =case_when( value =="No AI involved"~"No AI", value =="AI involved"~"AI Involved",TRUE~ value # Keeps other variables unchanged ),variable =factor(variable, levels =c("Competence", "Intelligence")) ) %>%filter(treatment %in%c("No AI", "AI Involved")) # Keep only AI-related observationsplot_H1A_ai <-ggplot(H1_mm_combined_ai, aes(x = estimate, y = treatment, color = treatment, shape = group)) +geom_vline(xintercept =0.5, linetype ="dashed", color ="gray") +# Reference linegeom_pointrange(aes(xmin = conf.low, xmax = conf.high), position =position_dodge(width =0.5)) +scale_x_continuous(limits =c(1, 6), breaks =c(1:5)) +# Match original scalescale_color_manual(values =c("No AI"="#E69F00", "AI Involved"="#56B4E9")) +# Differentiate AI conditionslabs(title ="Hypothesis 1A",x =" ",y =" ",color ="AI Treatment",shape ="Group" ) +facet_wrap(~ variable) +# Separate Competence & Intelligencetheme_minimal()# Display the plot#plot_H1A_ai# H1B# Plot with AI treatment only# Combine all marginal means into a single tidy dataframeH1_mm_combined_ai <-bind_rows( mm_admpost_friendly %>%mutate(variable ="Friendliness", group ="Adm"), mm_admpost_intent %>%mutate(variable ="Good intentions", group ="Adm"), mm_teachpost_friendly %>%mutate(variable ="Friendliness", group ="Teach"), mm_teachpost_intent %>%mutate(variable ="Good intentions", group ="Teach"))# Extract AI treatment values from the "value" columnH1_mm_combined_ai <- H1_mm_combined_ai %>%mutate(treatment =case_when( value =="No AI involved"~"No AI", value =="AI involved"~"AI Involved",TRUE~ value # Keeps other variables unchanged ),variable =factor(variable, levels =c("Friendliness", "Good intentions")) ) %>%filter(treatment %in%c("No AI", "AI Involved")) # Keep only AI-related observationsplot_H1B_ai <-ggplot(H1_mm_combined_ai, aes(x = estimate, y = treatment, color = treatment, shape = group)) +geom_vline(xintercept =0.5, linetype ="dashed", color ="gray") +# Reference linegeom_pointrange(aes(xmin = conf.low, xmax = conf.high), position =position_dodge(width =0.5)) +scale_x_continuous(limits =c(1, 6), breaks =c(1:5)) +# Match original scalescale_color_manual(values =c("No AI"="#E69F00", "AI Involved"="#56B4E9")) +# Differentiate AI conditionslabs(title ="Hypothesis 1B",x ="Marginal Mean Estimate",y =" ",color ="AI Treatment",shape ="Group" ) +facet_wrap(~ variable) +# Separate Friendliness and Good intentionstheme_minimal()# plot_H1B_ai# Display the combined H1A and H1B plotplot_H1 <- plot_H1A_ai / plot_H1B_aiplot_H1
H2
H2a: The effect of AI use on the acceptance of the decision-maker using the AI system is negatively mediated through warmth perceptions. H2b: The effect of AI use on the acceptance of the decision-maker using the AI system is positively mediated through competence perceptions.
School administrator context
Code
library(mediation)# Step 1: Model the effect of AI on warmth perceptions (Friendliness & Intentions)lm_friendliness <-lm(admpost_friendly ~ admexp_ai, data = df_ncp)lm_intentions <-lm(admpost_intent ~ admexp_ai, data = df_ncp)# Step 2: Model the effect of warmth perceptions on acceptancelm_acceptance <-lm(admpost_accept ~ admexp_ai + admpost_friendly + admpost_intent, data = df_ncp)# Step 3: Mediation Analysis (Friendliness)med_model_friendliness <-mediate(lm_friendliness, lm_acceptance, treat ="admexp_ai", mediator ="admpost_friendly", boot =TRUE, sims =1000)# Step 4: Mediation Analysis (Intentions)med_model_intentions <-mediate(lm_intentions, lm_acceptance, treat ="admexp_ai", mediator ="admpost_intent", boot =TRUE, sims =1000)# Print mediation resultssummary(med_model_friendliness)
# Extract results into a dataframemediation_results <-tibble(mediator =c("Friendliness", "Intentions"),indirect_effect =c(med_model_friendliness$d0, med_model_intentions$d0),direct_effect =c(med_model_friendliness$z0, med_model_intentions$z0),total_effect =c(med_model_friendliness$tau.coef, med_model_intentions$tau.coef),lower_CI =c(med_model_friendliness$d0.ci[1], med_model_intentions$d0.ci[1]),upper_CI =c(med_model_friendliness$d0.ci[2], med_model_intentions$d0.ci[2]))# Visualizing using ggplotlibrary(ggplot2)ggplot(mediation_results, aes(x = mediator)) +geom_col(aes(y = indirect_effect, fill ="Indirect Effect"), position ="dodge", width =0.6) +geom_col(aes(y = direct_effect, fill ="Direct Effect"), position ="dodge", width =0.6) +geom_errorbar(aes(ymin = lower_CI, ymax = upper_CI), width =0.2, position =position_dodge(width =0.6)) +scale_fill_manual(values =c("Indirect Effect"="#56B4E9", "Direct Effect"="#E69F00")) +labs(title ="Mediation Analysis: Direct & Indirect Effects",x ="Mediator",y ="Effect Size",fill ="Effect Type" ) +theme_minimal()
Code
library(DiagrammeR)DiagrammeR("graph TD; A[AI Use] -->|Effect on Friendliness| B[Friendliness]; A -->|Effect on Intentions| C[Intentions]; B -->|Mediated Effect| D[Acceptance]; C -->|Mediated Effect| D; A -->|Direct Effect| D; style A fill:#FFDDC1,stroke:#E69F00; style B fill:#D0E1F9,stroke:#56B4E9; style C fill:#D0E1F9,stroke:#56B4E9; style D fill:#A0D995,stroke:#009E73;")
Code
summary(lm_friendliness) # AI → Friendliness
Call:
lm(formula = admpost_friendly ~ admexp_ai, data = df_ncp)
Residuals:
Min 1Q Median 3Q Max
-2.9615 -0.5888 0.4112 1.0385 2.4112
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.58879 0.03829 67.603 < 2e-16 ***
admexp_aiNo AI involved 0.37268 0.05523 6.748 1.89e-11 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.314 on 2265 degrees of freedom
(9248 observations deleted due to missingness)
Multiple R-squared: 0.01971, Adjusted R-squared: 0.01928
F-statistic: 45.54 on 1 and 2265 DF, p-value: 1.893e-11
Code
summary(lm_intentions) # AI → Good Intentions
Call:
lm(formula = admpost_intent ~ admexp_ai, data = df_ncp)
Residuals:
Min 1Q Median 3Q Max
-3.6486 -0.3602 0.3514 0.6398 1.6398
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.36024 0.03559 94.402 < 2e-16 ***
admexp_aiNo AI involved 0.28839 0.05133 5.618 2.17e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.221 on 2265 degrees of freedom
(9248 observations deleted due to missingness)
Multiple R-squared: 0.01374, Adjusted R-squared: 0.01331
F-statistic: 31.56 on 1 and 2265 DF, p-value: 2.17e-08
A mediation model examines whether the effect of an independent variable (AI use) on a dependent variable (acceptance of the decision-maker) operates through an intermediate variable (warmth perceptions). In this case, two warmth-related mediators are tested separately: friendliness and good intentions.
The results for good intentions show that AI use significantly affects acceptance both directly and indirectly through warmth perceptions. The Average Causal Mediation Effect (ACME) = 0.1042, meaning that AI use influences acceptance indirectly through perceptions of good intentions. The direct effect (ADE) = 0.4457, indicating that AI also has a strong effect on acceptance that is not explained by warmth.
The total effect of AI use on acceptance is 0.5499, and approximately 18.95% of this effect is mediated through perceptions of good intentions. This suggests that while warmth plays a role in shaping acceptance, the majority of the effect (about 81%) comes from other factors.
In comparison to friendliness (11% mediated effect), good intentions appear to be a stronger mediator, suggesting that perceptions of the decision-maker’s intentions may be more influential than their perceived friendliness in shaping acceptance of AI-assisted decisions.
Given that the effect of using AI has a negative impact on warmth perceptions, the mediation analyses shows that this effect is carried over indirectly to negatively affect the acceptance of using AI by the public servant.
Teacher context
Code
library(mediation)# Step 1: Model the effect of AI on warmth perceptions (Friendliness & Intentions)lm_friendliness <-lm(teachpost_friendly ~ teachexp_ai, data = df_ncp)lm_intentions <-lm(teachpost_intent ~ teachexp_ai, data = df_ncp)# Step 2: Model the effect of warmth perceptions on acceptancelm_acceptance <-lm(teachpost_accept ~ teachexp_ai + teachpost_friendly + teachpost_intent, data = df_ncp)# Step 3: Mediation Analysis (Friendliness)med_model_friendliness <-mediate(lm_friendliness, lm_acceptance, treat ="teachexp_ai", mediator ="teachpost_friendly", boot =TRUE, sims =1000)# Step 4: Mediation Analysis (Intentions)med_model_intentions <-mediate(lm_intentions, lm_acceptance, treat ="teachexp_ai", mediator ="teachpost_intent", boot =TRUE, sims =1000)# Print mediation resultssummary(med_model_friendliness)
# Extract results into a dataframemediation_results <-tibble(mediator =c("Friendliness", "Intentions"),indirect_effect =c(med_model_friendliness$d0, med_model_intentions$d0),direct_effect =c(med_model_friendliness$z0, med_model_intentions$z0),total_effect =c(med_model_friendliness$tau.coef, med_model_intentions$tau.coef),lower_CI =c(med_model_friendliness$d0.ci[1], med_model_intentions$d0.ci[1]),upper_CI =c(med_model_friendliness$d0.ci[2], med_model_intentions$d0.ci[2]))# Visualizing using ggplotlibrary(ggplot2)ggplot(mediation_results, aes(x = mediator)) +geom_col(aes(y = indirect_effect, fill ="Indirect Effect"), position ="dodge", width =0.6) +geom_col(aes(y = direct_effect, fill ="Direct Effect"), position ="dodge", width =0.6) +geom_errorbar(aes(ymin = lower_CI, ymax = upper_CI), width =0.2, position =position_dodge(width =0.6)) +scale_fill_manual(values =c("Indirect Effect"="#56B4E9", "Direct Effect"="#E69F00")) +labs(title ="Mediation Analysis: Direct & Indirect Effects",x ="Mediator",y ="Effect Size",fill ="Effect Type" ) +theme_minimal()
Code
library(DiagrammeR)DiagrammeR("graph TD; A[AI Use] -->|Effect on Friendliness| B[Friendliness]; A -->|Effect on Intentions| C[Intentions]; B -->|Mediated Effect| D[Acceptance]; C -->|Mediated Effect| D; A -->|Direct Effect| D; style A fill:#FFDDC1,stroke:#E69F00; style B fill:#D0E1F9,stroke:#56B4E9; style C fill:#D0E1F9,stroke:#56B4E9; style D fill:#A0D995,stroke:#009E73;")
Code
summary(lm_friendliness) # AI → Friendliness
Call:
lm(formula = teachpost_friendly ~ teachexp_ai, data = df_ncp)
Residuals:
Min 1Q Median 3Q Max
-3.8063 -0.8063 0.1937 1.1604 2.1604
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.83962 0.03430 82.8 <2e-16 ***
teachexp_aiNo AI involved 0.96672 0.04882 19.8 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.171 on 2300 degrees of freedom
(9213 observations deleted due to missingness)
Multiple R-squared: 0.1456, Adjusted R-squared: 0.1453
F-statistic: 392.1 on 1 and 2300 DF, p-value: < 2.2e-16
Code
summary(lm_intentions) # AI → Good Intentions
Call:
lm(formula = teachpost_intent ~ teachexp_ai, data = df_ncp)
Residuals:
Min 1Q Median 3Q Max
-4.2606 -0.4185 0.5815 0.7394 1.5815
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.41852 0.03066 111.51 <2e-16 ***
teachexp_aiNo AI involved 0.84204 0.04364 19.29 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.047 on 2300 degrees of freedom
(9213 observations deleted due to missingness)
Multiple R-squared: 0.1393, Adjusted R-squared: 0.1389
F-statistic: 372.3 on 1 and 2300 DF, p-value: < 2.2e-16
This mediation analysis examines whether warmth perceptions—friendliness and good intentions—mediate the negative effect of AI use on the acceptance of a teacher using AI. The results indicate that AI use significantly decreases warmth perceptions, as teachers using AI are seen as less friendly (β = 0.97, p < 0.001) and having weaker intentions (β = 0.84, p < 0.001) compared to when AI is not involved. Lower warmth perceptions, in turn, are associated with reduced acceptance of the teacher’s decision, suggesting that warmth plays a role in shaping public attitudes toward AI-assisted decision-making.
AI use also directly reduces acceptance of the teacher (ADE = −1.24, p < 0.001), meaning that respondents are less willing to accept decisions made by a teacher using AI compared to one making decisions without AI involvement. However, part of this negative effect is mediated through warmth perceptions. Specifically, friendliness mediates about 9% of the total effect (ACME = 0.13, p < 0.001), while good intentions mediate about 16% (ACME = 0.24, p < 0.001). The total negative effect of AI use on acceptance (−1.36 for friendliness, −1.47 for intentions) suggests that the decline in warmth perceptions partially explains why AI lowers acceptance.
These results indicate that while warmth perceptions are a significant pathway through which AI use reduces acceptance, they do not fully account for the negative impact of AI. Other mechanisms, such as distrust in AI, concerns about fairness, or a preference for human decision-makers, may further contribute to this decline. The stronger mediation effect of good intentions (16%) compared to friendliness (9%) suggests that perceptions of the teacher’s motivations and trustworthiness play a larger role than their friendliness in shaping acceptance.
H3
H3: The effect of AI use on the perceived warmth of a decision-maker using the AI system is stronger in a setting in which decisions are made directly about citizens as opposed to decision hat affect them indirectly.
The two scenarios (school administrator and teacher) are presented to separate subsamples of the survey respondents. Thus, we compare mediation effects across contexts is to check if the ACME confidence intervals overlap. If they do not overlap, it suggests a significant difference between the mediation effects.
The estimate of the mediation effect of friendliness in the school administrator scenario has an estimated ACME of 0.055, with a 95 percent upper confidence level of 0.080. The teacher scenario ACME estimate is 0.125, with a lower 95 percent confidence level of 0.081, which means that the mediation effect is (barely) statistically significantly stronger in this scenario.
With regards to the mediation effect of good intentions, the ACME estimate for the school administrator scenario is 0.104, with an upper confidence level of 0.140. The teacher scenario estimate is 0.236, with a lower confidence level of 0.184. Also here the confidence intervals do not overlap, and this time the distance between them is larger and statistically significant.
Together, the results show that the mediation effect of warmth is stronger in the teacher scenario than in the school administrator scenario, support H3.