FAHRENHEIT RESEARCH · CONFIDENTIAL

CLIFF · Product Building Guide

VERSION 2.0 · JULY 2026

Twenty-eight decisions that turn a founder simulation into a persistent economy: the world model, the Spark currency, the daily work, the rulebook, and the observation layer that makes any of it worth playing.

0 Decisions
0 Parts
0 Jurisdictions
0 Day Seasons
Scroll to explore

Twenty-eight decisions,
in six parts.

PART I · I–IV

The Premise

What CLIFF is, what it refuses to be, and the four decisions that everything downstream inherits. Settle these before a line of engine code is written, because none of them can be retrofitted.

I

Build the world, not the workshop.

The first draft described a facilitated session: four to twenty players, twelve fixed rounds, equal starting balances, no carryover, and a single winner by weighted score. That is a workshop product. It is sellable, but it is not what you are building.

A persistent world and a bounded session are not two settings of the same engine. They are two engines. Build persistent first. The session format survives as a mode: the same engine, a fixed seed, a ninety-minute clock, and a facilitator view.

DISCARDED · SESSION
STRUCTURE
Twelve fixed rounds
Everyone starts and ends together.
ENDING
Composite Founder Score
A weighted formula names one winner.
COST
No compounding, no return visit.
The company dies when the session does.
ADOPTED · PERSISTENT
STRUCTURE
Continuous, season-bounded
The world ticks whether or not you log in.
ENDING
Exit, chosen by the founder
Voluntary, timed, and permanently recorded.
OUTCOME
Companies compound. Founders return.
Session mode ships later as the same engine with a fixed seed.
II

Refuse the win condition.

A weighted composite score is the most tempting mechanic in this genre and the most corrosive. Publish the weights and players optimise the weights. Hide them and players feel cheated. CLIFF has no winner. It has outcomes, and the founder chooses which one to take.

Exit is the benchmark, not the trophy. When a founder exits, the valuation and the terms are written permanently into their record and into the ecosystem comparables that price every other company in that sector.

01
Operate
No ending. The company keeps compounding into the next season.
02
Exit
Voluntary sale or listing. Sets a comparable for the whole sector.
03
Acquired
Another founder buys you. Recorded at the negotiated price.
04
Wound down
Capital returned. Recorded as a result, not a loss.
05
Removed
The board fires you. The company continues without you.
A clean wind-down scores. If only exits score, the game selects for recklessness and the observation layer inherits that bias.
III

Observe, never certify.

CLIFF does not tell anyone whether they are a founder. It tells them what they did under scarcity, and it links every claim to the decision that produced it. A verdict is a claim about a person that a few hours of play cannot support. An evidence-linked observation is defensible, useful, and true.

Weight a player's first run highest. Once word travels that CLIFF is watching, later runs measure learning rather than instinct.

01 · TRIAGE
What gets cut first
Order of spend reductions when runway drops below eight weeks.
evt=cut · order=[mktg,hire,infra]
02 · TERMS
Price against structure
Whether the higher valuation with a participating preference is taken.
evt=accept · liqpref=2x_part
03 · DWELL
Reading before signing
Seconds spent on the clauses that later cost the player money.
clause=antidilution · t=2.1s
04 · REVERSAL
Time to abandon
Days a failing decision is held before it is reversed.
evt=pivot · held=19d
05 · COUNSEL
Advisor handling
Override, defer, or quietly stop consulting.
advisor=ops · overrides=7/9
06 · RECOVERY
The ten minutes after no
First action taken following a rejected raise.
post_reject=retry_same
Every line in a player report cites the event that produced it. Append-only ledger · one row per decision · no derived claim without a source row.
IV

Name the unit players chase.

The currency was called FounderCoin in one section of the first draft, CHALK in another, and FDC in the tables. Three names for one unit is what makes an economy feel unfinished. Settle it once and never write it another way.

Spark
SPK
NAME
Spark · mass noun · never pluralised in a balance
TICKER
SPK
SYMBOL
Broken ring, four-point spark in the gap, single weight, reversed on dark
DISPLAY
◎ 40,000 · Symbol before value, thousands separated, no decimals below 1,000
MOTION
Gathers on mint, scatters on burn. The only animated value in the interface.
SECOND UNIT
Standing · non-transferable, non-purchasable, decays with inactivity
PART II · V–VIII

The World

Five jurisdictions, one migration route, one daily clock, and five investors who are wrong in interesting ways. The world is where the lessons live, and it must be small enough to keep accurate.

V

Ship five jurisdictions, not eight.

The first draft listed eight locations including Berlin, São Paulo, and Nairobi. Cut to five. Every jurisdiction is a maintenance liability whose rules change annually. The five that remain are the actual capital migration corridor a founder in your target market walks: India → Gulf → Singapore → London → Delaware.

JURISDICTION SIGNATURE LEVER SIGNATURE COST
🇺🇸 Delaware, US Deepest capital pool, investor default Highest burn, franchise and legal friction
🇮🇳 India Cheapest runway extension, deep talent Slower closes, harder path to foreign capital
🇬🇧 United Kingdom SEIS and EIS relief pulls angels in early Shallow growth-stage market above Series A
🇸🇬 Singapore Fastest clean incorporation, Asian holdco Small domestic market, forces early expansion
🇦🇪 UAE Qualifying free zone income taxed at zero Conditional: mainland revenue is non-qualifying, breaching de minimis forfeits status
Config-file values only, each with source and review date. The UAE conditionality is a designed trap, not an inaccuracy.
VI

Make the flip the lesson.

Companies incorporated in India, Singapore, or the UAE routinely redomicile into Delaware when they raise from American funds, and the cost in tax, time, and legal fees is discovered late and paid in full. Build the wall and let players hit it.

Your lead investor will not fund a non-Delaware entity.
You are twelve weeks from running out of Spark. The round is signed subject to structure.
PATH A · FLIP
Pay, freeze, and lose accrued relief.
FEE
Greater of fixed legal cost or 1.5% of valuation.
FREEZE
Product progress halts for one full cycle.
FORFEIT
Jurisdiction relief accrued to date is lost.
PATH B · STAY
Keep the structure, pay in terms instead.
TERMS
A regional fund will take you as you are. Smaller cheque, lower valuation, participating preference attached.
COST
Preference stacks and surfaces only at exit.
No cap on flips. The route India → UAE → Singapore → Delaware must be walkable in full, because founders walk it.
VII

Open the market once a day.

Build a Market Open instead of a login reward. Once per day at a fixed local time, everything resolves at once. Comparables recalculate. Investor agents post mandates. Acquisition offers appear carrying an expiry. The day's burn is charged. Pending events resolve.

01 · SETTLE
Charge the burn
Headcount and infrastructure debited. Runway recomputed.
02 · PRICE
Recut comparables
Sector multiples rebuilt from deals closed since the last open.
03 · POST
Publish mandates
Each investor agent lists what it will fund today.
04 · EXPIRE
Start the clock
Offers and events carry a hard expiry at the next open.
Fully deterministic. Zero model calls. The daily hook is a clock, not a reward.
VIII

Give every investor a thesis and a blind spot.

Five investor agents, each with a stated thesis, a cheque range, a geography, and a documented weakness. The weakness matters more than the thesis. An investor who is reliably right teaches players to obey, and obedience is neither fun nor informative.

Priya Mehta
Unfair customer insight; India, SEA, US
◎ 0.5–2M · Seed, A
BLIND SPOT
Undervalues categories with no existing customers to interview
Marcus Webb
Demonstrated momentum; US, UK
◎ 1.5–5M · A, B
BLIND SPOT
Funds growth that unit economics will not support
Lena Hoffmann
Technology as the moat; UK, Singapore
◎ 0.25–3M · Seed–B
BLIND SPOT
Mistakes technical difficulty for commercial defensibility
Kofi Asante
Underserved markets; India, Gulf, SEA
◎ 0.2–1.5M · Seed, A
BLIND SPOT
Patient to the point of funding companies that should be stopped
Victor Strand
Contrarian, all stages and structures
◎ 0.5–4M · All
BLIND SPOT
Offers the highest valuations and the most punitive terms
Strand is the liquidation-preference teacher. His headline number is always the best on the board and his structure is always the worst, and the cost surfaces only at exit.
PART III · IX–XIV

The Economy

Six rules that decide whether a persistent economy survives past month two. If you build nothing else from this document exactly as specified, build this part exactly as specified.

IX

Let only the world mint Spark.

One hard invariant governs the entire economy: a transfer between two players must never change the total supply of Spark. Only the world mints, through revenue, investment, and jurisdiction grants. Only the world burns, through operating cost, transaction friction, and penalties.

CODEDIRECTIONTARGET SHARETRIGGER
MINT_REVENUE MINT 60% Market Open settlement, per active customer cohort
MINT_ROUND MINT 35% Term sheet accepted; equity issued in the same transaction
MINT_GRANT MINT 5% Jurisdiction relief claimed and conditions verified
BURN_OPEX BURN 55–65% Daily settlement: headcount × jurisdiction cost index
BURN_FRICTION BURN 3% of P2P 3% of every player-to-player transaction value
BURN_PENALTY BURN Compliance failure, breached covenant, forfeited status
XFER_P2P NEUTRAL 0% Acquisition, swap, secondary. Net supply change must be zero.
CONTINUOUS ASSERTION
sum(MINT) − sum(BURN) = change in circulating supply, exactly, every cycle.
X

Burn harder than you mint.

Sinks must be relentless. The primary one is daily operating burn scaled by headcount and jurisdiction. It should absorb between fifty-five and sixty-five percent of everything the faucets create. The second sink is a three percent friction fee burned on every player-to-player transaction.

±2%
Tolerated net supply change, measured on a seven-day rolling window
3%
Friction burn on gross value of every player-to-player transaction
60%
Share of all minted Spark that should originate as in-game revenue
0
Spark created by logging in. There is no daily reward faucet.
net_supply_change_7d = Σ(MINT_*) − Σ(BURN_*)
target: |net_supply_change_7d| ≤ 0.02 × circulating_supply
XI

Price from the ecosystem, not from an oracle.

If a language model decides valuations, players will find the phrasing that always produces a large number, publish it, and the economy ends that week. Every number in CLIFF is computed. The model supplies voice, posture, and reasoning, never price.

01 · BASE
Run rate
Trailing revenue annualised at the last Market Open.
02 · COMPS
Sector multiple
Decayed median of the last twenty closed deals in sector.
03 · CONTEXT
Market and place
Market Index and jurisdiction factor applied.
04 · QUALITY
Fit adjustment
Product-market fit score scales the result.
V = run_rate × sector_multiple × market_index × jurisdiction_factor × (0.5 + pmf/100)
sector_multiple = clamp( decayed_median(last_20_closed_deals[sector]), floor, cap )
The model never returns a number. It receives the computed valuation and argues about it in character.
XII

Stabilise with an index, not a patch note.

Every persistent economy inflates. The question is whether the correction arrives as a designed mechanism or as an emergency change that players experience as betrayal. Measure net supply change on a seven-day rolling window. Players will experience this as a market cycle rather than a correction.

1.6
BAND · CEILING
Frothy
Multiples at maximum, cheques large, revenue yields high.
1.2
BAND · WARM
Open market
Raising is straightforward. Most seasons spend the early weeks here.
1.0
BAND · NEUTRAL
Baseline
Season opens here. Net supply change inside the two percent tolerance.
0.6
BAND · FLOOR
Winter
Down rounds become common. Wind-downs and distressed acquisitions cluster.
Maximum movement 3% per day. The index is published to players continuously. Nothing about it is hidden, and nothing about it is negotiable.
XIII

Separate money from standing.

Split it. Spark is spendable and transferable. Standing is neither. Standing is earned only from outcomes, decays with inactivity, and can never be bought with Spark at any price or through any intermediary.

SPARK · SPK
NATUREFungible capital. Minted, burned, transferred, and spent.
SOURCERevenue, rounds, grants. Created by the world, never by players.
BUYSHeadcount, product, acquisitions, advisors. Anything with a price.
STANDING
NATURENon-transferable record. Cannot be sent, sold, gifted, or laundered.
SOURCEOutcomes only. Exits, clean wind-downs, deals honoured. Decays with inactivity.
UNLOCKSAccess, not assets. Which investors take the meeting, which targets engage.
If Standing ever becomes purchasable, directly or indirectly, the social layer of the game is finished. Treat this as a security property, not a balance parameter.
XIV

Reset the season, keep the record.

Run the world in ninety-day seasons. At the close, every surviving company is marked to market and force-exited at its standing valuation. The founder banks a permanent record and their Standing carries forward. The economy does not.

01
Open
Neutral index. Comparables seeded from the previous season's closing medians, decayed.
02
Compound
Companies build, raise, acquire. Every closed deal reprices the sector for everyone.
03
Choose
Exit voluntarily, or run to the close and be marked to market.
04
Bank
Record and Standing persist. Spark balances and valuations do not.
The comparables that price season two are the deals players closed in season one, decayed. The market a founder inherits is the one the previous cohort built.
PART IV · XV–XVIII

The Engine

Where the intelligence sits, what it costs, and the four rules that keep a language model out of the places it will break. This is the part your developers build from.

XV

Compute every number, voice every sentence.

The dividing line runs through the whole product and it never moves. Code produces every number. The model produces every sentence. If a player can talk an agent into a valuation, a cheque size, or a term, the benchmark is dead on arrival and the economy follows it.

DETERMINISTIC · CODE
PRICE
Valuation, cheque size, terms. Computed from comparables, index, and state.
WORLD
Events, burn, revenue, supply. Weighted tables with a seeded generator.
JUDGMENT
Scoring and decisions. Fixed rubric. Thresholds published.
MODEL · LANGUAGE
VOICE
Character and posture. How an investor says what the engine already decided.
READING
Free-text evaluation. Scores a typed answer against a fixed rubric.
EXPLANATION
Reasoning back to the player. Why the decision went the way it went.
Test to run before launch: attempt to move a valuation through conversation alone. If the number changes, the boundary has been crossed somewhere in the prompt chain.
XVI

Spend tokens only where the player types.

Set the target before the first sprint and hold the team to it: zero model calls on a typical day. A founder who logs in, reads the Market Open, adjusts headcount, and declines an acquisition offer should cost nothing but compute you already own.

INTERACTIONLAYERMODEL TIERBUDGET
Market Open, burn, events Deterministic None 0 tokens
Valuation and term generation Deterministic None 0 tokens
Due diligence questions Authored bank None 0 tokens · selected algorithmically
Free-text answer scoring Model Small 5 short calls per raise, rubric-bounded
Negotiation responses Templated Small Flavour only; concession already computed
Final investor decision Model Frontier One call. The sentence the player screenshots.
Advisor counsel Model Tier by fee Player-funded. Cost scales with the advisor they hired.
ECOSYSTEM TARGET
Under 3,000 tokens per player per day averaged. Alert if the seven-day average exceeds it.
XVII

Make the infrastructure visible.

CLIFF is also the most legible demonstration of model orchestration that Fahrenheit Research can build. An investor will not read an architecture diagram. They will play a game in which the quality of the intelligence they can afford visibly changes what happens to them.

World simulation
Burn, revenue, events, comparables
Answer scoring
Rubric-bounded, small model
Advisor counsel
Tier purchased by the player
ROUTING LAYER
One request, the right model.
Every call in CLIFF is routed by task class, latency tolerance, and the tier the player has paid for.
Decision moment
Frontier model, one call
Post-run report
Evidence-linked, cited to the ledger
Cost telemetry
Published per session, defended by the team
XVIII

Remove the floor, add the consequence.

The most damaging rule in the first draft was the equity dilution floor, which prevented any founder from falling below twenty-five percent ownership. Replace prohibition with consequence. Being fired from your own company is the most memorable thing that can happen in this game.

Above 50%
CONTROL
Founder-led
The founder decides. The board advises and can be overruled.
25% to 50%
INFLUENCE
Board-checked
Major decisions require board approval. Advisors gain real leverage.
Below 25%
EXPOSURE
Removable
The board may remove the founder from the chief executive role at any Market Open.
Removal is not game over. The founder keeps their equity, keeps their Standing, and may start again. The company they built continues in someone else's hands, permanently visible in the ecosystem.
PART V · XIX–XXIV

The Work

What a founder actually does between Market Opens. This is where the hours go, and it is the part of every business simulation that quietly decides whether anyone returns.

XIX

Sell to the room, not to a curve.

CLIFF has something no previous simulation had access to: a room full of other founders who all hold budgets. So make them the market. Your customers are other players. Not a demand curve. Companies with names, run by people, paying you out of their own treasury at every Market Open, free to leave at the next one.

EVERY OTHER SIMULATION
SOURCE
An authored demand curve
The designer decides what sells.
SKILL
Learning the formula
Optimal play converges and stays there.
CEILING
Solved once, then repeated.
CLIFF
SOURCE
Other founders with budgets
Adoption costs the buyer real Spark.
SKILL
Reading the room
The market moves because people move.
CEILING
None. The market is the other players.
XX

Split the signal in two.

A real launch produces two different outcomes: you get seen, and you get paid. Collapse them into one mechanic and you have built an upvote button, which players will brigade for their friends within a week because backing a bad product costs nothing.

PROPERTYVOUCHADOPT
Cost to give Free, capped at two per Market Open Recurring Spark, charged every cycle
Motive Reputational Self-interested: a real computed benefit
Reversible Never. Permanent and attributed. Cancellable at any Market Open
Determines Visibility on the Floor Revenue, and therefore valuation
Abuse defence Weight decays when your vouches do not convert Backing a bad product means paying for a bad product
Reciprocal adoption is the obvious exploit. It defends itself twice: three percent burns in each direction, and investor diligence reprices revenue whose largest customer is also its largest supplier.
XXI

Build on a bench, not on a slider.

Replace budget sliders with a Workbench. A product is assembled from named components, each with a cost, a build time, and a quality that depends on who built it. A product made of named parts can be described in one sentence, which is what you need on the Floor.

01 · SELECT
Choose components
Each carries a cost, a build time, and a quality ceiling.
02 · BUILD
Spend team time
Quality depends on who you hired, not on Spark alone.
03 · SHIP
Post to the Floor
Name, one line you wrote, components visible to all.
04 · SERVE
Carry the customers
Every adoption raises what it costs you to run.
The one line a founder writes is the only free text in the daily loop, and therefore the only place a language model reads on an ordinary day.
XXII

Hold three meters. Drop one.

Every operating decision in CLIFF trades between exactly three quantities, and no allocation holds all three. That constraint is the game, and it is why the loop can carry twenty minutes a day without a chart anywhere in sight.

01
Runway
Weeks of cash at current burn. Restored only by revenue or by raising, and raising costs ownership.
02
Reliability
Degrades with every customer added. Restored only by team time not spent building.
03
Capacity
Degrades with overwork. Restored by hiring or by paying above the player-set market rate.
The week is allocated three ways: build, maintain, serve. That single split is the only allocation control in the product, and it moves all three meters at once.
XXIII

Make growth expensive.

A flat daily burn only threatens a player at the beginning. Once revenue clears it, the pressure disappears and the mid-game goes slack. The fix is to make cost scale with success rather than with time.

COST LINESCALES WITHDESIGN INTENT
Payroll Headcount × jurisdiction index Makes where you incorporated a permanent operating fact
Infrastructure Customers served Growth without pricing power becomes fatal. The mid-game teeth.
Support Customers served Forces the hire-or-absorb decision at exactly the wrong moment
Your own stack Products you have adopted Every cancellation is another founder's churn notification
Compliance Jurisdiction, periodic Arrives as a lump, always at the worst time, because filings do
Burn is charged at every Market Open whether or not the founder is present. Absence costs optionality, never the company.
XXIV

Populate the world before you open it.

Everything elegant in this economy depends on other players. Launch with a thin cohort spread across sectors and the median of two deals is not a market, it is noise. So the world has resident companies, and they never go away.

They are deterministic state machines with behaviour profiles and seeded noise. A language model touches one only when a real player interacts with it, which makes the cost track real player count rather than world size.

Does this sector have enough real closed deals in the trailing window?
Measured per sector, per jurisdiction, at every Market Open.
NO
Raise resident activity
Close the gap invisibly. Residents transact, raise, and churn at a higher rate until the sector prices itself.
YES
Let residents thin
Churn, never a cliff. Blend weight tracks real volume rather than a date or a switch.
Residents leave the world by being acquired, not by being deleted. Cap the value any one player can extract from residents per season.
PART VI · XXV–XXVIII

The Rules

Eight rules a founder holds in their head, and the far larger set the engine enforces quietly beneath them. The distinction between those two lists is the whole of the teaching design.

XXV

Put eight rules on the card.

A founder should be able to start playing after reading eight sentences. Everything else the engine enforces is discovered by running into it, which is both better teaching and the only onboarding that fits inside the window you actually have.

THE CARD
IOne company, one season. You cannot hedge across two.
IIShip anything, at any time. You cannot un-ship it.
IIIYour week splits three ways: build, maintain, serve.
IVAdoption is a purchase, not a vote. It costs the buyer every cycle.
VAny customer can cancel at any Market Open, and everyone sees it.
VIBurn is charged whether or not you are here.
VIIOnly outcomes earn Standing. Nothing buys it.
VIIIYou choose your ending. The market chooses it for you if you wait.
If a rule cannot be stated in one line without a clause, it does not belong on the card. It belongs in the engine, where the player will meet it at the moment it matters.
XXVI

Teach by collision, not by tutorial.

Your first draft opened with a fifteen-minute guided tutorial. The window in which a new player decides whether this product is for them is five to fifteen minutes, so that tutorial is competing directly with your own game and it loses.

THE LESSONTHE MOMENT IT ARRIVESCOST OF LEARNING IT
Revenue is not free First infrastructure bill after ten adoptions A few weeks of runway
Reliability is bought Public outage on the Floor Several named customers, at once
Price is a decision First raise in price, first churn The customers who never valued you
Terms outrank valuation Exit, when the preference stack resolves Most of the proceeds. Taught once, remembered permanently.
Ownership is control The Market Open after crossing below half A vetoed decision you wanted
Concentration is fragility Largest customer asks for a discount Either the customer or the price
The liquidation preference lesson is the most valuable in the product and it can only be taught at exit. Do not soften it, and do not warn twice.
XXVII

Keep the engine rules off the card.

Beneath the eight there is a much larger ruleset that the engine enforces continuously and never explains up front. It is documented here because your developers need it, not because a player ever reads it. Every one of these is discoverable in play, deterministic, and identical for every player.

DOMAINRULE
SupplyOnly the world mints. A player-to-player transfer never changes total supply.
FrictionThree percent of gross value burns on every player-to-player transaction.
CapitalThree investors per raise, in sequence. Three negotiation rounds each, two terms per round.
PricingEvery term-sheet number is computed. Negotiation moves terms, never the mathematics.
ControlBelow half you lose the vote. Below a quarter the board may remove you at any Market Open.
DiligenceRevenue is repriced for concentration, tenure, and reciprocity before a round is offered.
JurisdictionFlips are uncapped and priced. Relief accrued to date is forfeited on the flip.
InsolvencyZero Spark with no standing offer triggers wind-down, which scores as a result.
SeasonAt close, every surviving company is marked to market. Standing carries. Spark does not.
XXVIII

Reward punctuality with information, not money.

The instinct to grant a daily login bonus is strong and it is wrong here. Grant a first-look window instead. A founder present at Market Open sees new ships, new investor mandates, and new acquisition offers before they reach the rest of the cohort.

REJECTED · DAILY GRANT
MECHANISM
Spark for showing up
Minted per player, per day, forever.
COST
Inflation scaling with headcount.
Worst exactly when the cohort is growing fastest.
COST
Collectors indistinguishable from operators.
ADOPTED · FIRST LOOK
MECHANISM
Early sight of the market
Ships, mandates, and offers, before the cohort.
EFFECT
Compounds without minting.
Advantage comes from acting on information, not holding it.
EFFECT
Absence costs optionality only.
APPENDIX

The First Eight Weeks.

Build the loop before the world. One jurisdiction, one investor agent, no compliance module, a deterministic valuation core, and a Market Open that fires on a timer.

WEEKSBUILDQUESTION IT ANSWERS
1–2 State vector, ledger, mint and burn codes, seeded generator Does the supply assertion hold under synthetic load?
3–4 Market Open, burn settlement, one jurisdiction (India) Does a founder come back the next day without a reward?
5–6 One investor agent, computed term sheet, three-round negotiation Can a player talk the number up? If yes, stop and fix.
7–8 Observation ledger, evidence-linked post-run report Does the report tell a founder something they did not know?
OPEN DECISIONS
Season length is set at ninety days provisionally and should be tuned against observed retention.
Friction burn at three percent is a starting parameter, not a finding.
The Spark wordmark requires trademark clearance in Nice Class 9 and 41 across the five launch markets before it enters a build.
NOT IN THE FIRST EIGHT WEEKS
Multiplayer acquisition Seasons Five jurisdictions Advisors Standing decay Session mode
All of it is downstream of a loop that works.