What it is
The public goods game (PGG) operationalises the free-rider problem. Each of N players in a group receives an endowment E and decides — simultaneously, privately — how much to contribute to a shared pool. Contributions are multiplied by a factor k (where 1 < k < N) and the augmented pool is divided equally among all N players, regardless of who contributed what. The Nash equilibrium under standard self-interest is for everyone to contribute zero: each token contributed returns only k/N < 1 to the contributor while the full token is retained on defection. The social optimum is for everyone to contribute fully: since k > 1, every additional contributed token raises total group payoff.
Empirically, average contributions sit well above the Nash baseline. Across the meta-analytic literature single-shot contribution rates are roughly 0.40–0.60 of the endowment in US/European university samples (Ledyard 1995; Chaudhuri 2011; Zelmer 2003), with substantial variation across societies (Henrich et al. 2005). Repeated games decay toward the Nash baseline over rounds as players adjust to free-riders.
When to use it
The PGG is appropriate when the research question concerns voluntary cooperation under a shared resource or institution. Common use cases:
- Community cooperation and collective action. Whether communities differ in baseline cooperation; whether a programme that builds shared institutions raises contributions. Rustagi, Engel & Kosfeld (2010) link the proportion of conditional cooperators in Ethiopian community forestry groups to real forest-management outcomes; Feigenberg, Field & Pande (2013) show that more frequent microfinance group meetings raise PGG contributions among Indian borrowers.
- Team incentive design. Comparing flat-share, bonus-pool, or hybrid compensation structures by their effect on voluntary contribution to team output. Translates directly to organisational pilot studies.
- Public-health risk-sharing. Pooled-insurance or pooled-savings adoption is a free-rider problem with the same structure.
- Cross-cultural or cross-group cooperation. Comparing willingness to contribute when matched with in-group vs. out-group players. Henrich et al. (2005) document substantial cross-cultural variation.
The PGG is less appropriate when the construct is trust (use Berg-Dickhaut-McCabe trust game, Guide #7), pure altruism (the dictator game is closer to pure giving, though warm-glow caveats apply per Andreoni 1995), or strategic interaction in a small bargaining set (use ultimatum or two-player bargaining games). The PGG also struggles in low-numeracy populations who cannot reliably reason about the multiplier and equal-sharing rule — comprehension failure is the dominant source of measurement error.
How it works
Step 1 — Group formation. Groups of N players (typically 4–6) are formed. The cleanest pattern is pre-randomisation from a baseline roster, imported as a pulldata() table — this allows balance checks, stratification, and an audit trail. On-the-fly random matching in the field is harder to verify. Decide and pre-commit: partner matching (same players in the same group across all rounds — enables reputation and learning) or stranger matching (random rematch each round — isolates per-round behaviour but requires more sessions to reach steady contributions).
Step 2 — Endowment. Each player receives E tokens. Stakes should be meaningful in local context — Camerer & Hogarth (1999) find behaviour is broadly robust to stakes within typical ranges, but very low stakes generate noise and very high stakes shift the decision toward financial-transaction framing.
Step 3 — Contribution decision (simultaneous). Each player privately chooses an amount c ∈ [0, E] to contribute. Decisions must be made before any player sees any other contribution — simultaneity is the load-bearing identification condition. Physical separation, opaque envelopes, or central tablet submission before reveal all work; an enumerator carrying responses in view of other players breaks the design.
Step 4 — Payoff. Let C = Σ c be the group’s total contribution. Each player’s payoff is (E − own c) + (k/N) × C. With the canonical k = 2 and N = 4, the marginal per capita return (MPCR) k/N = 0.5: each token contributed returns 0.5 tokens to the contributor and 0.5 to each of the other three players. Full contribution by all yields E × k > E for every player; full defection yields E for every player; the gap between them is the social surplus.
Identification assumptions. For the contribution to identify voluntary cooperation under the stated social dilemma, six conditions must hold.
- Simultaneity. No information about other players’ choices reaches a player before they decide. Violations include sequential decisions made visible, an enumerator who collects in view of others, or response sheets visible across a shared table.
- Comprehension. Players understand the multiplier, the equal-sharing rule, and that contributing returns only k/N < 1 to themselves. Failure here produces noise indistinguishable from low cooperation. Pre-decision calculation checks are essential — see Key Decisions.
- Anonymity is operative. Players believe their individual contribution is not linked to their identity for the counterparts or the enumerator. Partial anonymity inflates contributions through reputation concerns; de Quidt, Haushofer & Roth (2018) document non-trivial demand effects even under nominal anonymity.
- No within-session learning across groups. When multiple groups play sequentially in the same venue with shared instructions, contamination is the default rather than the exception. Stagger sessions, vary instructions across cohorts, or run groups truly in parallel.
- Framing neutrality. Labels like “common good” or “community fund” generate demand effects compared to neutral terms like “group account” (Liberman, Samuels & Ross 2004; Ellingsen et al. 2012). Pre-commit framing and report it.
- Incentive compatibility. Payoffs are real, salient, and players believe payment will occur. Hypothetical PGGs measure something — but not behaviour under the stated dilemma.
The Nash equilibrium baseline (c = 0 for all) under standard self-interest, and the social-optimum baseline (c = E for all), define the interval against which empirical contributions are scored.
Key decisions
Group size and MPCR. Standard field designs use N = 4–6 with k chosen so that k/N is well below 1 (typically 0.4–0.5). Isaac, Walker & Williams (1994) is the canonical reference: holding MPCR constant, group size has small effects on contributions; varying MPCR by adjusting k matters more than varying N. Pre-commit the MPCR based on the social dilemma being modelled. With k = 2 and N = 4, MPCR = 0.5; with k = 1.6 and N = 4, MPCR = 0.4 (closer to most real-world public-goods problems).
Strategy method and conditional-cooperator typology. Fischbacher, Gächter & Fehr (2001) introduced the canonical strategy method for the PGG: each player submits both an unconditional contribution AND a conditional schedule listing what they would contribute for every possible group-average contribution. The conditional schedule classifies each player into a type — free-rider (zero across the schedule), conditional cooperator (monotone increasing in others’ average), hump-shaped (rises then falls), or other. In Western samples the typical mix is ~30% free-riders, ~50% conditional cooperators, ~15% hump-shaped, ~5% other; in cross-cultural samples (Henrich et al. 2005) and in development contexts (Cardenas 2003; Rustagi, Engel & Kosfeld 2010) the distribution shifts substantially. The typology is the most valuable single PGG output — it does much more for understanding cooperation than the unconditional contribution alone. Implement via a repeat block listing each hypothetical group-average as a row.
Repeated vs. one-shot game. Repeated games (typically 10 rounds in lab; 5–8 rounds in field) reveal dynamic cooperation patterns. Across rounds, average contributions typically decay 30–50% from round 1 to round 10 in partner-matching designs as players retaliate against low contributors (Ledyard 1995; Chaudhuri 2011). The endgame effect — final-round contributions drop sharply as players anticipate no further punishment — means the final round is the noisiest data point in the sequence, not a clean estimate of the one-shot equilibrium. Restart effects (Andreoni 1988; Croson 1996) — where contributions jump back up after a known restart — confirm that decay is strategic, not preference change. One-shot games are simpler and sufficient if the research question is baseline cooperation.
Punishment extensions — and antisocial punishment. Costly punishment of low contributors (Fehr & Gächter 2000) sustains cooperation in many Western samples. However, Herrmann, Thöni & Gächter (2008) show that in many societies — including several South Asian, Middle Eastern, Southern European, and former-Soviet samples — a substantial share of punishment is directed at high contributors (antisocial punishment), neutralising the cooperation-sustaining effect. For an India-context PGG, do not assume punishment will discipline free-riders into cooperation: measure both pro-social and antisocial punishment if the design includes punishment.
Communication. Pre-game cheap talk dramatically raises contributions toward the social optimum (Sally 1995 meta-analysis; Ostrom, Walker & Gardner 1992). Prohibit communication during the contribution phase unless communication is the treatment. Field implementation: physical separation, individual instruction, simultaneous response collection.
Comprehension checks. Required for any field PGG. Standard pattern: 2–3 calculation questions before play (“If you contribute 10 tokens and the group total is 30 with k=2, n=4, what is your payoff?”), with re-routing to the instruction screen on incorrect answers and a recorded attempt count. Pre-commit a drop-from-analysis rule for repeated failures (typically: three failed attempts → exclude). The attempt count itself is a useful covariate.
Sample size. Contribution-share standard deviations run 0.25–0.30 across the meta-analysis (Chaudhuri 2011; Zelmer 2003). To detect a 0.05 share-sent treatment effect at 80% power with α = 0.05, equal allocation, and independent observations, n ≈ 786 per arm. PGG observations are not independent: group-level ICC for contributions is typically 0.10–0.20 once you absorb session and enumerator effects. With ICC = 0.15 and groups of N = 4, the design effect is 1 + (4 − 1) × 0.15 = 1.45, so n_eff = n / 1.45 → required nominal n ≈ 1140 per arm, i.e. ~285 groups per arm. Sessions are the larger unit of dependence (Fréchette 2012): if multiple groups play in the same session with the same enumerator and shared instructions, the effective unit may be the session, not the group. Pilot the ICC and the session-level effect before committing to a sample.
Caveats & common mistakes
Comprehension is the dominant source of measurement error. PGG mechanics are more complex than the dictator or ultimatum game. Players who do not understand that their own contribution benefits all members may be contributing for reasons unrelated to the social dilemma. Pre-decision quizzes with re-routing on incorrect answers are not optional — they are part of the measurement instrument.
Anonymity in tight-knit communities is hard. Village-based PGGs can be compromised even when names are not used: players infer identities from group composition, from the enumerator’s movements between huts, from who arrived together. Partial anonymity inflates contributions through reputation concerns; de Quidt, Haushofer & Roth (2018) document non-trivial demand effects even under nominal anonymity. Report the protocol honestly, including any departures from the design ideal.
Antisocial punishment is real. “Punishment disciplines free-riders into cooperation” is a Western-sample finding. In several societies (Herrmann, Thöni & Gächter 2008) substantial punishment targets high contributors, which can destabilise cooperation rather than sustain it. Do not assume the punishment-extension treatment effect direction without measuring both targets.
Framing effects are large. “Common good”, “community fund”, “social contribution” all bias toward higher contributions relative to neutral terms like “group account” (Liberman, Samuels & Ross 2004; Ellingsen et al. 2012). Pre-commit framing and report it exactly. Translation of framing across languages is a separate concern — pilot.
Endgame and restart effects in repeated games. In repeated games, contributions drop sharply in the final 1–2 rounds (endgame) and rebound after an announced restart. Reporting an average across all rounds blurs both effects. Standard handling: (a) report round-by-round means; (b) include round dummies in regression and interpret the round-10 (or final-round) coefficient as an endgame estimate, distinct from the trend; (c) for clean one-shot inference, prefer a one-shot design.
Warm-glow vs. pure altruism — and other interpretive ambiguity. Andreoni (1990, 1995) argues that public-goods contributions reflect “warm-glow” giving (utility from the act of giving) at least as much as pure altruism (utility from others’ payoffs). The mixed-motive interpretation is well-supported: contributions reflect a composite of altruism, conditional cooperation, inequity aversion, norm-following, and warm-glow. Reporting contributions descriptively, naming the mix, and not attributing to a single underlying preference is the honest stance. Combining the PGG with the dictator game (which separates a giving baseline) and the FGF strategy method (which classifies conditional cooperators) provides structural identification that the standalone PGG does not.
External validity is contested. Levitt & List (2007) raise serious doubts about lab-game predictions of real-world cooperation. Rustagi et al. (2010) and Feigenberg, Field & Pande (2013) are positive evidence in specific contexts; Galizzi & Navarro-Martinez (2019, meta-analysis) is more sceptical overall. If the PGG is intended to predict field behaviour, pair it with a direct field outcome (loan repayment, irrigation contribution, conservation effort) — predictive validity is the honest test.
Trust vs. cooperation. PGG contributions are sometimes confused with trust. They are not — the PGG measures cooperation conditional on shared institutional rules; the trust game (Berg, Dickhaut & McCabe 1995) measures the willingness to expose oneself to potential betrayal. Players who do not trust the experimenter to enforce the rules will under-contribute, but trust in the counterpart is not the construct being measured.
Analysis Guide
# contribution: tokens contributed to public fund (0 to endowment)
# endowment: each player's starting tokens (e.g., 20)
# k: multiplier; n: group size; session_id, group_id, player_id, round
import pandas as pd
import numpy as np
import statsmodels.api as sm
import statsmodels.formula.api as smf
from linearmodels.panel import PanelOLS
from scipy.stats import spearmanr
# 1. Normalise contribution as a share of the endowment — single-shot games
# average ~0.40-0.60 in Western samples (Ledyard 1995; Chaudhuri 2011); much
# lower or much higher than this band warrants checking comprehension first
df["contrib_share"] = df["contribution"] / df["endowment"]
# 2. Compute group total and payoff — needed for the within-group SE story below,
# because the same group_total enters every member's payoff by construction,
# making within-group residuals mechanically correlated
df["group_total"] = df.groupby("group_id")["contribution"].transform("sum")
df["payoff"] = (df["endowment"] - df["contribution"]) + (df["k"] / df["n"]) * df["group_total"]
# 3. Free-rider and full-contributor rates — both extremes are focal points
# and large mass at either suggests either strong norms or comprehension failure;
# typical free-rider share is 0.20-0.35 in Western samples and varies widely
df["freerider"] = (df["contribution"] == 0).astype(int)
df["full_contributor"] = (df["contribution"] == df["endowment"]).astype(int)
print(df[["contrib_share", "freerider", "full_contributor"]].describe())
# 4. Fractional logit on contribution share (Papke-Wooldridge 1996) — share is
# bounded in [0,1] with mass at 0 and 1; Binomial family with logit link
# estimates the fractional response model without dropping boundary observations;
# cluster SEs at the session level because multiple groups in one session share
# enumerator, instructions, and common shocks (Frechette 2012)
fit_share = smf.glm("contrib_share ~ age + C(female) + log_hh_expenditure + C(treatment)",
data=df, family=sm.families.Binomial()).fit(
cov_type="cluster", cov_kwds={"groups": df["session_id"]})
print(fit_share.summary())
# 5. Fischbacher-Gächter-Fehr (2001) conditional-cooperator typology — requires a
# strategy-method design where each player submits a contribution schedule for
# every hypothetical group-average; classify each player by the Spearman rank
# correlation between own conditional contribution and the hypothetical average
def fgf_type(player_schedule):
own = player_schedule["own_conditional"].values
avg = player_schedule["hypothetical_avg"].values
if np.all(own == 0):
return "free_rider"
rho, p = spearmanr(own, avg)
if rho > 0 and p < 0.05:
return "conditional_cooperator"
# Hump-shaped: monotone increasing then decreasing
diffs = np.diff(own)
if (diffs[:len(diffs)//2] >= 0).all() and (diffs[len(diffs)//2:] <= 0).all() and own.max() > 0:
return "hump_shaped"
return "other"
typology = df.groupby("player_id").apply(fgf_type)
print(typology.value_counts(normalize=True)) # typical Western: ~30/50/15/5
# 6. Repeated-game panel: round dummies on contribution share with two-way
# clustering (player and group) — round coefficients trace the decay curve
# and the final-round drop is the endgame effect; partner-matching designs
# typically lose 30-50% of round-1 contribution by round 10
panel = df.set_index(["player_id", "round"])
fit_fe = PanelOLS.from_formula(
"contrib_share ~ C(round) + EntityEffects", data=panel).fit(
cov_type="clustered", cluster_entity=True, clusters=panel["group_id"])
print(fit_fe)
# Check round-by-round n: if late-round n shrinks non-randomly, round coefficients
# confound decay with selection. df.groupby("round").size() reveals dropout.
print(df.groupby("round").size()) XLSForm / SurveyCTO
PGG implementation requires central tablet sync (no player sees others’ choices before all have submitted), pre-randomised group composition, comprehension checks with re-routing, and — for strategy-method designs — a conditional-schedule repeat block. Key patterns:
- Group composition via pre-randomised file. Build a roster of group assignments offline (stratified on village, gender, or baseline cooperation if measured), upload as a server dataset, and retrieve each subject’s
group_id,session_id, andplayer_positionviapulldata("group_assignments", "group_id", "id", ${respondent_id}). Do not assign groups on-the-fly withrandom()— it produces unbalanced groups and breaks audit trails. - Comprehension check loop. A
begin_groupcontaining 2–3select_onecalculation questions (“If you contribute 10 and the group total is 30 with k = 2, n = 4, what is your payoff?”). Each question hasrelevancerules that re-route incorrect answers to the instruction screen. Acalculatefield counts attempts ascomprehension_attempts; a pre-committed rule excludes players whosecomprehension_attempts >= 3 & still_failing. - Central submission. Set
submission_urlto a central endpoint. Enumerator submits each player’s contribution before the next player’s decision is collected — useappearance="minimal"on the decision field and a finalsubmit_onlyflag that holds the form until tablet sync completes. No player sees their group’s total before submission. - Conditional schedule for strategy method. A
begin_repeatblock of length E+1 (or step-discretised to 5 levels for low-numeracy contexts), each iteration asking “if the group average were X, you would contribute ___” with anintegerconstraint of[0, ${endowment}]. Persist as a wide table for the typology classification. - Persisted fields. Store
respondent_id,session_id,group_id,player_id,player_position(1..N within group),round(for repeated games),endowment,k,n,treatment_arm,framing_arm(if framing is randomised — useonce(if(random() < 0.5, 0, 1))for binary assignment, persisted),contribution,conditional_schedule_*(one column per hypothetical avg),comprehension_attempts, andenumerator_id. The analyst needs every one.
Reading the output
contrib_sharedistribution. Single-shot games in Western samples typically produce mean 0.40–0.60, SD 0.25–0.30 (Chaudhuri 2011; Zelmer 2003). A sample mean below 0.25 or above 0.70 is a signal to inspect comprehension and framing before substantive interpretation. Cross-cultural variation is substantial (Henrich et al. 2005) — do not treat the Western band as universal.freeriderrate. Typical Western samples show 0.20–0.35 of players contributing zero. Above 0.50 suggests strong free-rider norms, comprehension failure, or both. Below 0.10 suggests demand-effect pull from the framing.full_contributorrate. Typically 0.05–0.20 in single-shot games. Very high rates with low free-rider rates can indicate “coordination on the social optimum” framing leakage.- FGF typology share. Western samples: ~30% free-riders, ~50% conditional cooperators, ~15% hump-shaped, ~5% other (Fischbacher et al. 2001). Substantially different mix is informative about the population — Rustagi et al. (2010) link the conditional-cooperator share to field outcomes.
- Panel decay coefficients. Round-10 contribution is typically 30–50% lower than round-1 in partner-matching designs (Ledyard 1995; Chaudhuri 2011). Smaller decay suggests unusual cooperation persistence (possibly strong norms or framing pull); larger decay suggests strong free-rider dynamics, antisocial punishment, or comprehension breakdown. The final-round coefficient captures the endgame effect — it is the noisiest data point, not a one-shot estimate.
- Cluster-robust SEs at session level should be visibly larger than HC1/HC2 — by a factor of √(1 + (m − 1)ρ) for m players per session and ICC ρ. If they are not larger, sessions are too small or genuinely independent — report the session count and average size alongside the SE.
- Comprehension covariate. Players with
comprehension_attempts > 1should be flagged in robustness checks. The treatment effect should be similar whether the high-attempt players are included or excluded.
References
Andreoni, J. (1988). Why free ride? Strategies and learning in public goods experiments. Journal of Public Economics, 37(3), 291–304. https://doi.org/10.1016/0047-2727(88)90043-6
Andreoni, J. (1990). Impure altruism and donations to public goods: A theory of warm-glow giving. Economic Journal, 100(401), 464–477. https://doi.org/10.2307/2234133
Andreoni, J. (1995). Cooperation in public-goods experiments: Kindness or confusion? American Economic Review, 85(4), 891–904.
Berg, J., Dickhaut, J., & McCabe, K. (1995). Trust, reciprocity, and social history. Games and Economic Behavior, 10(1), 122–142. https://doi.org/10.1006/game.1995.1027
Camerer, C. F. (2003). Behavioral game theory: Experiments in strategic interaction. Princeton University Press.
Camerer, C. F., & Hogarth, R. M. (1999). The effects of financial incentives in experiments: A review and capital-labor-production framework. Journal of Risk and Uncertainty, 19(1–3), 7–42. https://doi.org/10.1023/A:1007850605129
Cardenas, J. C. (2003). Real wealth and experimental cooperation: Experiments in the field lab. Journal of Development Economics, 70(2), 263–289. https://doi.org/10.1016/S0304-3878(02)00098-6
Chaudhuri, A. (2011). Sustaining cooperation in laboratory public goods experiments: A selective survey of the literature. Experimental Economics, 14(1), 47–83. https://doi.org/10.1007/s10683-010-9257-1
Croson, R. T. A. (1996). Partners and strangers revisited. Economics Letters, 53(1), 25–32. https://doi.org/10.1016/S0165-1765(96)00904-3
de Quidt, J., Haushofer, J., & Roth, C. (2018). Measuring and bounding experimenter demand. American Economic Review, 108(11), 3266–3302. https://doi.org/10.1257/aer.20171330
Ellingsen, T., Johannesson, M., Mollerstrom, J., & Munkhammar, S. (2012). Social framing effects: Preferences or beliefs? Games and Economic Behavior, 76(1), 117–130. https://doi.org/10.1016/j.geb.2012.05.007
Fehr, E., & Gächter, S. (2000). Cooperation and punishment in public goods experiments. American Economic Review, 90(4), 980–994. https://doi.org/10.1257/aer.90.4.980
Feigenberg, B., Field, E., & Pande, R. (2013). The economic returns to social interaction: Experimental evidence from microfinance. Review of Economic Studies, 80(4), 1459–1483. https://doi.org/10.1093/restud/rdt016
Fischbacher, U., Gächter, S., & Fehr, E. (2001). Are people conditionally cooperative? Evidence from a public goods experiment. Economics Letters, 71(3), 397–404. https://doi.org/10.1016/S0165-1765(01)00394-9
Fréchette, G. R. (2012). Session-effects in the laboratory. Experimental Economics, 15(3), 485–498. https://doi.org/10.1007/s10683-011-9309-1
Henrich, J., Boyd, R., Bowles, S., Camerer, C., Fehr, E., Gintis, H., McElreath, R., Alvard, M., Barr, A., Ensminger, J., et al. (2005). “Economic man” in cross-cultural perspective: Behavioral experiments in 15 small-scale societies. Behavioral and Brain Sciences, 28(6), 795–815. https://doi.org/10.1017/S0140525X05000142
Herrmann, B., Thöni, C., & Gächter, S. (2008). Antisocial punishment across societies. Science, 319(5868), 1362–1367. https://doi.org/10.1126/science.1153808
Isaac, R. M., Walker, J. M., & Williams, A. W. (1994). Group size and the voluntary provision of public goods: Experimental evidence utilizing large groups. Journal of Public Economics, 54(1), 1–36. https://doi.org/10.1016/0047-2727(94)90068-X
Ledyard, J. O. (1995). Public goods: A survey of experimental research. In J. Kagel & A. Roth (Eds.), Handbook of Experimental Economics (pp. 111–194). Princeton University Press. (Working paper version: https://authors.library.caltech.edu/79285/)
Levitt, S. D., & List, J. A. (2007). What do laboratory experiments measuring social preferences reveal about the real world? Journal of Economic Perspectives, 21(2), 153–174. https://doi.org/10.1257/jep.21.2.153
Liberman, V., Samuels, S. M., & Ross, L. (2004). The name of the game: Predictive power of reputations versus situational labels in determining prisoner’s dilemma game moves. Personality and Social Psychology Bulletin, 30(9), 1175–1185. https://doi.org/10.1177/0146167204264004
Ostrom, E., Walker, J., & Gardner, R. (1992). Covenants with and without a sword: Self-governance is possible. American Political Science Review, 86(2), 404–417. https://doi.org/10.2307/1964229
Papke, L. E., & Wooldridge, J. M. (1996). Econometric methods for fractional response variables with an application to 401(k) plan participation rates. Journal of Applied Econometrics, 11(6), 619–632. https://doi.org/10.1002/(SICI)1099-1255(199611)11:6%3C619::AID-JAE418%3E3.0.CO;2-1
Rustagi, D., Engel, S., & Kosfeld, M. (2010). Conditional cooperation and costly monitoring explain success in forest commons management. Science, 330(6006), 961–965. https://doi.org/10.1126/science.1193649
Sally, D. (1995). Conversation and cooperation in social dilemmas: A meta-analysis of experiments from 1958 to 1992. Rationality and Society, 7(1), 58–92. https://doi.org/10.1177/1043463195007001004
Zelmer, J. (2003). Linear public goods experiments: A meta-analysis. Experimental Economics, 6(3), 299–310. https://doi.org/10.1023/A:1026277420119