◇ OpenCyber Academy
Master's · Chapter 5 · English

Chapter 5 — Proposal and pilot

Open, free learning for anyone who wants to protect people and technology. No account is required to read this text or its worked answers.

Chapter 5 — Proposal and pilot

Lesson map

Lesson 05 published. Map, example, EX027.

flowchart TD
  N0["Learning outcomes and connection"]
  N1["5.1 The proposal as a contract"]
  N2["5.2 Timeline and critical path"]
  N3["5.3 The risk register"]
  N4["5.4 Asking custodians for data"]
  N5["5.5 What a pilot is for"]
  N6["5.6 Progression criteria"]
  N7["5.7 Practical activity: auditing the pilot extract"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
  N7 --> EX["Worked example"]
  EX --> Q["Exercise EX027"]

Logical drawing

flowchart LR
  N0["Learning outcomes and connection"]
  N1["5.1 The proposal as a contract"]
  N2["5.2 Timeline and critical path"]
  N3["5.3 The risk register"]
  N4["5.4 Asking custodians for data"]
  N5["5.5 What a pilot is for"]
  N6["5.6 Progression criteria"]
  N7["5.7 Practical activity: auditing the pilot extract"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX027"]
[Learning outcomes and connection]
    |
    v
[5.1 The proposal as a contract]
    |
    v
[5.2 Timeline and critical path]
    |
    v
[5.3 The risk register]
    |
    v
[5.4 Asking custodians for data]
    |
    v
[5.5 What a pilot is for]
    |
    v
[5.6 Progression criteria]
    |
    v
[5.7 Practical activity: auditing the pilot extract]
    |
    v
[Worked example] --> [Exercise EX027]

Learning outcomes and connection

By the end of this chapter the learner will be able to:

  1. Write a research proposal that functions as a contract with a supervisor, a committee and data partners: specific enough to be checked, flexible only where flexibility is declared.
  2. Plan a two-year master's project with its critical path, and keep a risk register with triggers and owners.
  3. Approach data custodians with a precise request and negotiate access that the study can survive.
  4. Design a feasibility pilot whose purpose is to test procedures, not to estimate effects, and explain why pilot effect estimates should not be used to justify the main study.
  5. Set predeclared progression (go/no-go) criteria, including an amend-and-re-pilot outcome.
  6. Audit a pilot data extract systematically and turn each finding into a question for the custodian or a change in procedure.

Chapters 1–4 produced the question, the seminar map, the design and the rival table. This chapter packages them into a proposal and tests whether the study can actually be done. Chapter 6 runs it.

5.1 The proposal as a contract

A proposal answers three audiences at once. The supervisor needs to know the project is feasible and the candidate understands it. The committee (and later the examiners) needs to see that the question, design and analysis are coherent. Data partners need to know exactly what will be requested, how it will be protected and what will be published. A proposal that satisfies all three is specific about what is fixed and explicit about what is open.

A standard structure for the Spillover Study:

  1. Title and summary (250 words): question, design, data, expected contribution.
  2. Problem and rationale: the decision that the answer informs; the gap from the concept matrix (Chapter 1).
  3. Questions and estimands: RQ1–RQ3 with the estimand definitions.
  4. Background: a two-page concept-centric summary of the literature.
  5. Design: controlled interrupted time series and interviews; why these and not others.
  6. Data and access: custodians, variables, period, aggregation, agreements, fallback sources.
  7. Ethics and information protection: the approved or submitted application; sensitivity tiers.
  8. Analysis plan: a summary of the pre-analysis plan with a link to its registration.
  9. Rivals and robustness: the Chapter 4 rival table with tests.
  10. Timeline and milestones.
  11. Risks and mitigations.
  12. Outputs: dissertation, partner briefing, possible paper; what will and will not be published.
  13. References.

Mark each element as fixed (changes require a dated entry in the deviation log and the supervisor's agreement) or open (to be decided by a stated date or after the pilot). In the Spillover Study, the estimands, primary outcome, comparison region and model are fixed; the exact number of interviews (8–12) and the secondary outcome's definition (pending the custodian's data dictionary) are open.

5.2 Timeline and critical path

A two-year master's at about 1,200 hours of study time leaves perhaps 600–700 hours for the dissertation itself once taught components are counted; the rest of this course's hours are the chapters you are studying. The scarce resource is not analysis time but elapsed time waiting for other people: ethics committees, data custodians, partners' legal teams and interviewees' calendars.

Semester Milestones Elapsed-time dependencies
1 Question, search and concept matrix (Chapter 1); seminar (Chapter 2); first contact with custodians Custodians' first replies often take weeks
2 Design, design analysis, ethics application, data agreements, pre-analysis plan (Chapters 3–4) Ethics review; legal review of agreements — the critical path
3 Proposal approved; pilot; main data collection; interviews (Chapters 5–6) Pilot re-run if criteria fail; interview scheduling
4 Analysis, writing, examination (Chapters 6–8) Partner factual review period; examination scheduling

The critical path is the chain of tasks whose delay delays the whole project: here, ethics approval and data agreements, which must both precede the pilot. Start them early, even before the design is final, by sharing a draft data request and asking custodians what approvals they require.

5.3 The risk register

Risk Likelihood Impact Mitigation Trigger for action Owner
Custodian delays data High High Early contact; minimal request; public-dashboard fallback for Wexmoor No signed agreement by end of semester 2 Candidate, supervisor
Partner withdraws after seeing results Medium High Publication agreement with factual review and no veto, signed before access Request to suppress findings Supervisor
Data quality inadequate Medium High Pilot audit with progression criteria Criteria fail twice Candidate
Ethics approval delayed or conditional Medium Medium Submit early; pre-consult the committee No decision eight weeks after submission Candidate
Too few interviewees Medium Medium Recruit through the coalition; broaden roles Fewer than six by mid-semester 3 Candidate
Scope creep (adding outcomes, regions) High Medium Fixed elements; deviation log Any new outcome proposed Supervisor
Partner suffers a new security incident Low High Pause; never request incident details; follow partner instructions Partner notification Candidate
Findings judged sensitive Medium Medium Sensitivity tiers; regional reporting; private routing of specific weaknesses Partner or committee concern Supervisor

Review the register at every supervision meeting. A risk register that is written once for the proposal and never opened again is decoration.

5.4 Asking custodians for data

Custodians receive many vague requests and answer precise ones. A good request states: the purpose in two sentences; the exact variables and their definitions as you understand them; the period; the aggregation (daily counts per ED; no patient-level records); how the data will be stored and destroyed; what will be published and in what form; the ethics approval status; and what you will give back (a briefing, a check of their data's quality). Ask the custodian three questions that every time-series study needs: Did the recording system, its definitions or the site's catchment change during the period? Are there known gaps or downtime days? How are late entries and corrections handled? The answers often matter more than the data.

For the Spillover Study, Alder Point and Brookfield agreed to supply daily aggregates; Calloway agreed after the coalition intervened; Wexmoor's counts came from a public regional dashboard whose terms allow research use, which the candidate recorded in the data management plan.

5.5 What a pilot is for

A pilot or feasibility study asks whether the main study can be done as planned: whether data can be obtained in the expected form, whether participants can be recruited, whether the procedures and instruments work and how long they take. Thabane et al. (2010) give a tutorial on the what, why and how; Lancaster, Dodd and Williamson (2004) recommend that pilots have clear feasibility objectives and be analysed descriptively; the CONSORT extension for pilot and feasibility trials (Eldridge et al., 2016) asks authors to report the criteria used to decide whether to proceed. Although those sources address trials, their core logic transfers directly to observational and mixed-methods studies.

What a pilot is not for: estimating the effect, or estimating the effect size for a power calculation. Leon, Davis and Kraemer (2011) explain why: pilot samples are small, so their effect estimates are too imprecise to guide sample-size decisions and can mislead in either direction. In an observational event study there is an additional reason: if the candidate examines outcome data around the event during the "pilot", the subsequent analysis is no longer planned blind to the result. The Spillover Study's data pilot therefore uses a 35-day baseline extract from Alder Point, entirely before day −60, and examines completeness and plausibility only.

The Spillover Study's pilot has three components:

  1. Data pilot: the baseline extract, audited against predeclared criteria (Lab 5).
  2. Interview pilot: two interviews with people outside the sample (a retired ED manager and an EMS educator from another region), testing the guide's clarity, length and sensitivity.
  3. Pipeline pilot: the full analysis code run end to end on synthetic data (Lab 4's generator) to check that it produces every planned table and figure.

5.6 Progression criteria

Progression criteria state in advance what pilot results lead to proceeding, amending or stopping. A common format uses three zones: go (proceed as planned), amend (proceed after specified changes, possibly re-piloting) and stop (the study as designed is not feasible). The Spillover Study's data criteria:

Criterion Go Amend Stop
Cell completeness of the four variables ≥ 97% 90–97% < 90% after one re-pilot
Conflicting duplicate days None Explained by custodian Unexplained
Missing calendar days ≤ 1 2–5, explained > 5 or unexplained
Values out of range (negative counts, diversion > 1,440 minutes per day) None Corrected by custodian Persisting

Interview criteria: the guide fits in 45 minutes; neither pilot participant reports discomfort with any question; both understand every question without rephrasing. Pipeline criterion: every planned output produced without manual steps.

5.7 Practical activity: auditing the pilot extract

The lab below audits a synthetic 35-day extract from Alder Point against the criteria in §5.6. It checks site codes, duplicate dates (and whether duplicates conflict), missing values, out-of-range values, missing calendar days and implausibly low days, and reports a decision.

# Lab 5 - audit a pilot extract against predeclared go/no-go criteria (offline, standard library only)
# A synthetic 35-day daily extract from one neighbouring hospital (AP), as a partner might send it.
import csv, io, datetime as dt

EXTRACT = """date,site,amb_arrivals,walkins,diversion_min,median_wait_min
2025-03-01,AP,41,96,0,27
2025-03-02,AP,37,88,0,25
2025-03-03,AP,44,102,35,31
2025-03-04,AP,40,99,0,29
2025-03-05,AP,39,,0,28
2025-03-06,AP,42,101,0,30
2025-03-07,AP,38,93,0,26
2025-03-08,AP,36,90,0,24
2025-03-09,AP,35,87,0,23
2025-03-10,AP,45,104,120,33
2025-03-11,AP,43,100,0,30
2025-03-11,AP,43,100,0,30
2025-03-12,AP,41,97,0,N/A
2025-03-13,AP,40,95,0,29
2025-03-15,AP,37,91,0,25
2025-03-16,AP,36,89,0,24
2025-03-17,AP,46,105,-15,34
2025-03-18,AP,44,103,0,31
2025-03-19,ALDR,42,98,0,29
2025-03-20,AP,41,96,0,28
2025-03-21,AP,39,94,0,27
2025-03-22,AP,37,90,0,26
2025-03-23,AP,35,86,0,24
2025-03-24,AP,47,106,1600,35
2025-03-25,AP,44,101,0,31
2025-03-26,AP,43,99,0,30
2025-03-27,AP,41,97,0,29
2025-03-28,AP,40,95,0,28
2025-03-29,AP,38,92,0,26
2025-03-30,AP,23,55,0,25
2025-03-31,AP,45,103,0,32
2025-04-01,AP,44,102,0,31
2025-04-02,AP,42,99,0,30
2025-04-03,AP,40,96,0,29
2025-04-04,AP,39,94,0,28
"""
FIELDS = ["amb_arrivals", "walkins", "diversion_min", "median_wait_min"]
rows = list(csv.DictReader(io.StringIO(EXTRACT)))
issues, seen, by_date = [], {}, {}
for i, r in enumerate(rows, start=2):                      # line numbers as in the file
    d = dt.date.fromisoformat(r["date"])
    if r["site"] != "AP":
        issues.append((i, "site code", r["site"]))
    if d in seen:
        same = all(r[f] == rows[seen[d] - 2][f] for f in FIELDS)
        issues.append((i, "duplicate date", "identical" if same else "CONFLICTING"))
        continue
    seen[d] = i
    by_date[d] = r
    for f in FIELDS:
        v = r[f].strip()
        if v in ("", "N/A", "NA"):
            issues.append((i, "missing", f))
            continue
        x = float(v)
        if x < 0 or (f == "diversion_min" and x > 1440):
            issues.append((i, "out of range", f"{f}={v}"))

start, end = min(by_date), max(by_date)
expected = (end - start).days + 1
missing_days = [start + dt.timedelta(k) for k in range(expected) if start + dt.timedelta(k) not in by_date]
cells = expected * len(FIELDS)
bad_cells = sum(1 for _, kind, _ in issues if kind in ("missing", "out of range")) + len(missing_days) * len(FIELDS)
arr = [int(by_date[d]["amb_arrivals"]) for d in sorted(by_date)]
mu = sum(arr) / len(arr)
low = [(str(d), int(r["amb_arrivals"])) for d, r in sorted(by_date.items()) if int(r["amb_arrivals"]) < 0.7 * mu]

for line, kind, detail in issues:
    print(f"line {line:2d}: {kind}: {detail}")
print("missing calendar days:", [str(d) for d in missing_days])
print("implausibly low days (<70% of mean):", low)
complete = 1 - bad_cells / cells
print(f"cell completeness {complete:.3f} over {expected} days x {len(FIELDS)} fields")
CRITERIA = {                                                # predeclared in the pilot protocol
    "completeness >= 0.97": complete >= 0.97,
    "no conflicting duplicates": not any(d == "CONFLICTING" for _, k, d in issues if k == "duplicate date"),
    "<= 1 missing calendar day": len(missing_days) <= 1,
    "all values in range": not any(k == "out of range" for _, k, _ in issues),
}
for c, ok in CRITERIA.items():
    print(f"  {'PASS' if ok else 'FAIL'}  {c}")
print("decision:", "GO" if all(CRITERIA.values()) else "AMEND AND RE-PILOT (no outcome analysis)")

Expected output:

line  6: missing: walkins
line 13: duplicate date: identical
line 14: missing: median_wait_min
line 18: out of range: diversion_min=-15
line 20: site code: ALDR
line 25: out of range: diversion_min=1600
missing calendar days: ['2025-03-14']
implausibly low days (<70% of mean): [('2025-03-30', 23)]
cell completeness 0.943 over 35 days x 4 fields
  FAIL  completeness >= 0.97
  PASS  no conflicting duplicates
  PASS  <= 1 missing calendar day
  FAIL  all values in range
decision: AMEND AND RE-PILOT (no outcome analysis)

Each finding becomes a question, not a silent fix:

Completeness is 94.3%, in the amend zone, and two values are out of range. The decision is to amend and re-pilot — and, as the output states, no outcome analysis of any kind is done on the pilot extract.

5.8 Worked example: the pilot report (synthetic)

The candidate's pilot report to the supervisor, one page:

5.9 Common errors and limits

The limit of a pilot is its size: passing it shows that procedures can work, not that the main data will be clean. Keep the audit script and run it on every extract in the main study.

Exercises — chapter 5

EX027 — Proposal summary. Objective: compress the study into a checkable summary. Inputs: Chapters 1–4. Constraints: 250 words; must name question, estimand, design, comparison, data sources, ethics status and expected contribution; no claims of results. Steps: (1) draft; (2) mark each sentence fixed or open; (3) ask a peer to state the study's primary estimate from your summary alone. Expected evidence: summary and the peer's restatement. Rubric: 3 = peer restates the estimand correctly, every required element present, nothing promised that the design cannot deliver; 2 = one element missing; 1 = topic-level; 0 = none.

EX028 — Timeline and risk register. Objective: plan against elapsed time. Inputs: §5.2–5.3. Constraints: a different study: interviews with twelve water-utility operators about cyber-incident exercises, plus analysis of three utilities' exercise reports. Steps: (1) build a four-semester timeline; (2) identify the critical path; (3) write six risks with likelihood, impact, mitigation, trigger and owner. Expected evidence: table and timeline. Rubric: 3 = critical path correctly identified (approvals and access to exercise reports), triggers measurable, mitigations specific to small utilities; 2 = one risk without trigger; 1 = generic; 0 = none.

EX029 — Pilot audit and re-pilot. Objective: apply a custodian's corrections to pilot extract data and decide GO or NO-GO on recorded completeness, without imputing values that were never recorded. Inputs: Lab 5 code. Constraints: offline. Steps: (1) run the lab and record the output; (2) apply the custodian's corrections from §5.8 (remove the duplicate; add 2025-03-14,AP,38,92,0,27; −15 → 15; 1,600 → 160; ALDR → AP; leave the two never-recorded values missing) and rerun; (3) report completeness and the decision; (4) state what the audit still reports and what you will do about it. Expected evidence: both outputs and a paragraph. Rubric: 3 = completeness 98.6% and GO reported, remaining missing cells and the 30 March low day explained with the downtime rule, no imputation in the pilot; 2 = one value wrong; 1 = not run; 0 = none.

EX030 — Interview guide pilot. Objective: test an instrument. Inputs: a draft guide of your own for RQ3 (at least ten questions). Constraints: pilot with one or two people outside the intended sample; record duration and every point of confusion or discomfort. Steps: (1) pilot; (2) revise; (3) document the changes and their reasons; (4) state whether the revision should be recorded in the deviation log. Expected evidence: original guide, revised guide and change log. Rubric: 3 = revisions respond to observed problems, questions anchored to time and information, deviation-log decision justified; 2 = revisions cosmetic; 1 = no pilot; 0 = none.

EX031 — Progression criteria. Objective: define go/amend/stop before seeing pilot results. Inputs: a feasibility pilot for a survey of 200 hospital IT managers about downtime procedures. Constraints: at least four criteria (for example response rate, item completion, time to complete, comprehension). Steps: (1) set thresholds for each zone; (2) justify each with the main study's needs; (3) state what "amend" changes for each. Expected evidence: table and justification. Rubric: 3 = thresholds tied to the main study's precision or feasibility, amend actions concrete, no effect-size criterion; 2 = one threshold arbitrary; 1 = criteria about results rather than feasibility; 0 = none.

EX032 — Supervisor memo on scope. Objective: make and record a scope decision. Inputs: after the pilot, the coalition offers patient-level stroke-care data for the diversion period if the candidate adds a stroke outcome. Constraints: one page; consider ethics, timeline, design and claim. Steps: (1) list benefits and costs; (2) decide; (3) write the deviation-log entry; (4) if declined, state how the offer becomes future work. Expected evidence: memo. Rubric: 3 = recognizes new ethics approval and individual-level data, timeline impact, multiplicity and the fixed primary outcome; decision defensible either way; deviation entry complete; 2 = decision without costs; 1 = accepts without approvals; 0 = none.

Chapter synthesis

A proposal is a contract: it fixes the question, estimands, design and analysis, declares what remains open, and states how deviations will be recorded. The critical path of a master's project runs through other people's time — ethics, custodians, legal review — so start those early and keep a living risk register. Ask custodians precise questions, especially about system changes, gaps and corrections. A pilot tests feasibility, not effects; never estimate an effect from it, and in an event study never look at outcomes around the event. Predeclare go/amend/stop criteria. Audit every extract with a script, turn each anomaly into a question, and treat downtime days at the very hospitals you study as measurement artefacts to flag, not rows to delete.

Continue studying — chapter 05 of 08

← Chapter 04 · Course chapter index · Chapter 06 →

Continue to the next authored lesson.

Worked answers

EX027 — Proposal summary. Model (about 200 words): "When a hospital diverts ambulances after a cyber incident, neighbouring emergency departments absorb the load, but how much and how far it spreads is rarely measured. This study asks how daily ambulance arrivals at the three EDs nearest Kestrel Health changed during its 21-day ransomware-related diversion (RQ1), whether the change declined with distance (RQ2) and how the load was redistributed in practice (RQ3). The primary estimand is, for each ED, the percentage difference between mean daily arrivals during the diversion and the arrivals expected from its pre-event trend adjusted for the concurrent change at two EDs in an unaffected region (Wexmoor). The design is a controlled interrupted time series on daily custodian data (180 days before, 90 days from the start of diversion), with placebo windows and prespecified robustness checks, and ten semi-structured interviews with ED, EMS and coalition staff analysed thematically and integrated in a joint display. Ethics approval [status]; data agreements [status]. The study will contribute an estimate with an interval for each ED, a mechanism account and recommendations for regional diversion planning, and will not estimate patient outcomes." Fixed: question, estimand, design, comparison and data; open: approval status, interview number. Full credit requires the peer to restate the estimand as "percentage change relative to a comparison-adjusted trend", not "the increase in patients".

EX028 — Timeline and risk register. Critical path: ethics approval → agreement with each utility to see its exercise reports → document collection; interviews can start after approval but report access depends on each utility's legal review. Timeline: semester 1 question and literature, first contacts; semester 2 ethics, agreements, interview guide and pilot; semester 3 interviews and document analysis; semester 4 integration, writing and examination. Risks (likelihood/impact; mitigation; trigger; owner): (1) utilities refuse to share exercise reports (high/high; ask for redacted summaries, or interview about the exercise rather than share it; no agreement from two of three utilities by the end of semester 2; candidate); (2) small-utility operators cannot be released for interviews (medium/high; offer 30-minute versions and off-shift times; fewer than six booked by mid-semester 3; candidate); (3) identification risk in a tiny population (high/medium; sector-level reporting, quotation review; any participant concern; supervisor); (4) a utility suffers an incident during the study (low/high; pause, no incident questions; utility notification; candidate); (5) exercise reports contain security-sensitive details (high/medium; read on site or redacted, no copies; any document marked sensitive; supervisor); (6) state-agency approval required for participation (medium/medium; ask the primacy agency early; agency request; supervisor).

EX029 — Pilot audit and re-pilot. (1) First run: completeness 0.943; FAIL completeness and range; PASS duplicates and calendar days → AMEND AND RE-PILOT (no outcome analysis). (2–3) Corrected extract output:

line  6: missing: walkins
line 13: missing: median_wait_min
missing calendar days: []
implausibly low days (<70% of mean): [('2025-03-30', 23)]
cell completeness 0.986 over 35 days x 4 fields
  PASS  completeness >= 0.97
  PASS  no conflicting duplicates
  PASS  <= 1 missing calendar day
  PASS  all values in range
decision: GO

(Line numbers shift because the duplicate was removed: the missing waiting time is now on line 13.) (4) The audit still reports two missing cells, which the custodian confirmed were never recorded; they stay missing, and the main study's plan states how missing values are handled (neither is the primary outcome, ambulance arrivals). The 30 March low day remains because it is real data: the custodian identified a six-hour EHR downtime, so under the new rule the day is flagged in the codebook and the main analysis is run with and without flagged days. Nothing is imputed in the pilot.

EX030 — Interview guide pilot. Assessed by rubric. Typical full-credit changes: questions asking for evaluations ("Was the diversion handled well?") replaced by questions anchored to time and records ("What did you know at 06:00, and from whom?"); double-barrelled questions split; jargon replaced with participants' own terms (for example "going on divert"); duration cut to the target. Deviation-log decision: changes made before any study interview are recorded as protocol amendments, with the date and the reason, and noted as made before any data were collected; a change after study interviews have begun is a deviation and is reported as such.

EX031 — Progression criteria.

Criterion Go Amend Stop Justification and amend action
Response rate in the pilot sample ≥ 30% 15–30% < 15% after one amended re-pilot At 30% of 200, about 60 responses give a proportion's 95% interval of roughly ±13 points, enough for the main descriptive aims; amend = change the invitation route (for example through the hospital association) and add two reminders
Item completion (median share of items answered) ≥ 90% 75–90% < 75% Low completion biases item estimates; amend = shorten and remove items most often skipped
Median completion time ≤ 15 minutes 15–25 > 25 Busy managers abandon long surveys; amend = cut items
Comprehension (cognitive interviews, 5 participants) No item misunderstood by ≥ 2 1–2 items ≥ 3 items Misunderstood items measure the wrong thing; amend = reword and retest those items

No criterion concerns what respondents answered (for example the share with downtime drills): that would be an outcome, not feasibility.

EX032 — Supervisor memo on scope. Benefits: stroke care is a time-sensitive outcome that matters to planners; the data are offered. Costs: individual-level health data require a new or amended ethics approval and a new data agreement (with GDPR Article 9 or HIPAA implications in the relevant jurisdiction) — months on the critical path in semester 3; small numbers of stroke patients in 21 days make any estimate imprecise; adding an outcome after registration creates multiplicity and must not displace the fixed primary outcome. Decision (defensible): decline for the dissertation, accept as future work. Deviation-log entry: "Date; offer of patient-level stroke data from the coalition; declined for this study because of approvals, timeline and precision; no outcome data had been seen; recorded as a future-work proposal." Future work: a separate approved study pooling several diversion events with registry data on door-to-treatment times. Accepting is also defensible if the timeline allows a new approval and the outcome is labelled exploratory and secondary.