RasmahRasmah

Drawing Wind Turbines from Scratch: Savonius, Darrieus, and Three-Blade

using Rasmah

Overview

Wind turbines come in two families, and they work differently enough that a machine designer should know both. Vertical-axis rotors — the Savonius and the Darrieus — spin around a vertical shaft, so the generator sits on the ground and the rotor needs no yaw drive: it takes wind from any direction. Horizontal-axis rotors — the familiar three-blade turbine — point into the wind and run faster, capturing more of the wind’s power but needing a nacelle and tower.

This tutorial draws all three from scratch — a Savonius drag rotor, a Darrieus H-rotor, and a three-blade HAWT — and puts each on the test stand: the swept area, the tip-speed ratio (TSR) it runs at, the rotational speed in an 8 m/s wind, and the power it captures. The drawing features are the same toolkit as the gear and the pump earlier in this series: arc-offset sketches, circular patterns, lofted sections, and booleans.

mm(x)  = x * 1e-3                            # millimetres -> metres
mmv(v) = round(ustrip(uconvert(u"mm", v)); digits = 1)

ρ = 1.225                                    # air density at sea level (kg/m³)
V = 8.0                                      # design wind speed (m/s)
8.0

The Savonius rotor — a drag turbine

The Savonius is the oldest and simplest wind machine: two half-cylinder buckets set mouth-to-mouth with a central passage, so the wind pushes one bucket’s concave side and slips off the other’s convex back — the difference in drag is the torque. The rotor’s geometry is three numbers: the rotor diameter D, the central passage e (the mouth gap), and the height H. Each bucket is a semicircular sheet of radius (D − e)/2 centred e/2 off the shaft axis.

Our rotor: D = 300, e = 50, H = 400 mm, from 2 mm sheet. Each bucket is an arc offset by the sheet thickness — the same arc-offset sketch as the pump impeller’s vanes:

D, e, H, tw = 300.0, 50.0, 400.0, 2.0
rb = (D - e) / 2                            # bucket radius 125 mm

bucket(cx, θ1, θ2; m = 48) = begin          # half-cylinder sheet centred on (cx, 0)
    as   = range(deg2rad(θ1), deg2rad(θ2); length = m)
    cen  = [[mm(cx + rb * cos(a)), mm(rb * sin(a))] for a in as]
    ns   = [[cos(a), sin(a)] for a in as]
    left = [cen[i] .+ mm(tw / 2) .* ns[i] for i in eachindex(cen)]
    right = [cen[i] .- mm(tw / 2) .* ns[i] for i in eachindex(cen)]
    polygon_2d([left..., right[end], right[1]])
end

# 1. two buckets mouth-to-mouth, 2. extruded to the rotor height
sav_sketch = union(bucket(-e / 2, 90, 270), bucket(e / 2, -90, 90))
Union2D{Polygon2D{Float64}, Polygon2D{Float64}}(Polygon2D{Float64}([[-0.024999999999999994, 0.126], [-0.03341587185188531, 0.1257186267065173], [-0.04179415637709613, 0.12487576350750229], [-0.05009743412308335, 0.12347517483460994], [-0.05828862063578202, 0.12152311605685145], [-0.0663311320877857, 0.11902830554259779], [-0.07418904867060032, 0.11600188572123002], [-0.08182727502122883, 0.11245737331834503], [-0.08921169696658156, 0.10841059898677757], [-0.09630933388565496, 0.10387963660306183]  …  [-0.08182727502122882, -0.11245737331834504], [-0.07418904867060039, -0.11600188572123], [-0.0663311320877857, -0.11902830554259777], [-0.05828862063578207, -0.12152311605685144], [-0.05009743412308333, -0.12347517483460994], [-0.04179415637709616, -0.12487576350750228], [-0.033415871851885284, -0.1257186267065173], [-0.025000000000000022, -0.126], [-0.025000000000000022, -0.124], [-0.024999999999999994, 0.124]]), Polygon2D{Float64}([[0.02500000000000001, -0.126], [0.033415871851885326, -0.1257186267065173], [0.041794156377096145, -0.12487576350750229], [0.050097434123083366, -0.12347517483460993], [0.05828862063578203, -0.12152311605685145], [0.06633113208778571, -0.11902830554259777], [0.07418904867060035, -0.11600188572123002], [0.08182727502122883, -0.11245737331834504], [0.08921169696658161, -0.10841059898677756], [0.09630933388565499, -0.1038796366030618]  …  [0.08182727502122883, 0.11245737331834504], [0.07418904867060035, 0.11600188572123002], [0.06633113208778571, 0.11902830554259777], [0.05828862063578203, 0.12152311605685145], [0.050097434123083366, 0.12347517483460993], [0.041794156377096145, 0.12487576350750229], [0.033415871851885326, 0.1257186267065173], [0.02500000000000001, 0.126], [0.02500000000000001, 0.124], [0.02500000000000001, -0.124]]))
vtk(extrude(sav_sketch, mm(H)); n = 20)

The S-shape is the rotor seen from above: the left bucket’s convex side faces the left, the right bucket’s faces the right, and the 50 mm mouth gap between them is the passage the wind spills through. Two end plates close the rotor and carry the shaft:

# 1. the buckets, 2. two Ø300 end plates, 3. the shaft
savonius = union(union(union(extrude(sav_sketch, mm(H)),
    translate(extrude(circle_2d(mm(150)), mm(2)), 0.0, 0.0, mm(H / 2 - 1))),
    translate(extrude(circle_2d(mm(150)), mm(2)), 0.0, 0.0, mm(-H / 2 + 1))),
    cylinder(mm(10), mm(H + 60)))
FeatureUnion{FeatureUnion{FeatureUnion{Extrude{Union2D{Polygon2D{Float64}, Polygon2D{Float64}}, Float64}, Translate{Extrude{Circle2D{Float64}, Float64}, Float64, Float64, Float64}}, Translate{Extrude{Circle2D{Float64}, Float64}, Float64, Float64, Float64}}, Cylinder{Float64, Float64}}(FeatureUnion{FeatureUnion{Extrude{Union2D{Polygon2D{Float64}, Polygon2D{Float64}}, Float64}, Translate{Extrude{Circle2D{Float64}, Float64}, Float64, Float64, Float64}}, Translate{Extrude{Circle2D{Float64}, Float64}, Float64, Float64, Float64}}(FeatureUnion{Extrude{Union2D{Polygon2D{Float64}, Polygon2D{Float64}}, Float64}, Translate{Extrude{Circle2D{Float64}, Float64}, Float64, Float64, Float64}}(Extrude{Union2D{Polygon2D{Float64}, Polygon2D{Float64}}, Float64}(Union2D{Polygon2D{Float64}, Polygon2D{Float64}}(Polygon2D{Float64}([[-0.024999999999999994, 0.126], [-0.03341587185188531, 0.1257186267065173], [-0.04179415637709613, 0.12487576350750229], [-0.05009743412308335, 0.12347517483460994], [-0.05828862063578202, 0.12152311605685145], [-0.0663311320877857, 0.11902830554259779], [-0.07418904867060032, 0.11600188572123002], [-0.08182727502122883, 0.11245737331834503], [-0.08921169696658156, 0.10841059898677757], [-0.09630933388565496, 0.10387963660306183]  …  [-0.08182727502122882, -0.11245737331834504], [-0.07418904867060039, -0.11600188572123], [-0.0663311320877857, -0.11902830554259777], [-0.05828862063578207, -0.12152311605685144], [-0.05009743412308333, -0.12347517483460994], [-0.04179415637709616, -0.12487576350750228], [-0.033415871851885284, -0.1257186267065173], [-0.025000000000000022, -0.126], [-0.025000000000000022, -0.124], [-0.024999999999999994, 0.124]]), Polygon2D{Float64}([[0.02500000000000001, -0.126], [0.033415871851885326, -0.1257186267065173], [0.041794156377096145, -0.12487576350750229], [0.050097434123083366, -0.12347517483460993], [0.05828862063578203, -0.12152311605685145], [0.06633113208778571, -0.11902830554259777], [0.07418904867060035, -0.11600188572123002], [0.08182727502122883, -0.11245737331834504], [0.08921169696658161, -0.10841059898677756], [0.09630933388565499, -0.1038796366030618]  …  [0.08182727502122883, 0.11245737331834504], [0.07418904867060035, 0.11600188572123002], [0.06633113208778571, 0.11902830554259777], [0.05828862063578203, 0.12152311605685145], [0.050097434123083366, 0.12347517483460993], [0.041794156377096145, 0.12487576350750229], [0.033415871851885326, 0.1257186267065173], [0.02500000000000001, 0.126], [0.02500000000000001, 0.124], [0.02500000000000001, -0.124]])), 0.4), Translate{Extrude{Circle2D{Float64}, Float64}, Float64, Float64, Float64}(Extrude{Circle2D{Float64}, Float64}(Circle2D{Float64}(0.15), 0.002), 0.0, 0.0, 0.199)), Translate{Extrude{Circle2D{Float64}, Float64}, Float64, Float64, Float64}(Extrude{Circle2D{Float64}, Float64}(Circle2D{Float64}(0.15), 0.002), 0.0, 0.0, -0.199)), Cylinder{Float64, Float64}(0.01, 0.46))
lo, hi = bounds(savonius)
println("rotor diameter: ", mmv(hi[1] - lo[1]), " mm   (drawing: 300 mm + sheet)")
rotor diameter: 301.9 mm   (drawing: 300 mm + sheet)
vtk(savonius; n = 24)

On the test stand: a drag rotor cannot spin faster than the wind — its tip speed ratio is λ ≈ 0.8–1. At 8 m/s that means a tip speed near the wind speed, and a rotational speed n = 60 λ V / (π D):

λ = 0.9
n = 60 * λ * V / (π * (D * 1e-3))
println("rotational speed: ", round(n; digits = 0), " RPM  (λ = 0.9, V = 8 m/s)")
A = (D * 1e-3) * (H * 1e-3)
println("swept area: ", round(A; digits = 3), " m²")
P = 0.5 * ρ * A * V^3 * 0.17
println("power: ", round(P; digits = 1), " W  (Cp ≈ 0.17)")
rotational speed: 458.0 RPM  (λ = 0.9, V = 8 m/s)
swept area: 0.12 m²
power: 6.4 W  (Cp ≈ 0.17)

About 6 W from a 0.12 m² rotor — small, because drag machines throw away most of the wind’s energy. The Savonius’s virtue is not efficiency but simplicity: it self-starts in light wind and needs no tower, which is why it appears on rooftops, ventilation cowls, and anemometer drives.

The Darrieus H-rotor — a lift turbine

The Darrieus rotor keeps the vertical axis but trades drag for lift: its blades are airfoils, and the rotor can spin several times faster than the wind. The H-rotor variant is the drawable one: three straight vertical blades on the pitch radius, connected to the shaft. Each blade is the NACA 0012 airfoil — a 12%-thick symmetric profile from the NACA 4-digit series, whose thickness distribution is the public-domain formula

\[ y_t(x) = 5t\,c\left(0.2969\sqrt{x/c} - 0.1260\,(x/c) - 0.3516\,(x/c)^2 + 0.2843\,(x/c)^3 - 0.1015\,(x/c)^4\right). \]

naca0012(c, t; n = 40) = begin
    xs = range(0, c; length = n ÷ 2)
    yt(x) = 5t * c * (0.2969 * sqrt(x / c) - 0.1260 * (x / c) -
                      0.3516 * (x / c)^2 + 0.2843 * (x / c)^3 - 0.1015 * (x / c)^4)
    top = [[x, yt(x)] for x in xs]
    polygon_2d([top..., [[x, -yt(x)] for x in reverse(xs[2:end])]...])
end

blade = extrude(rotate(naca0012(mm(60), 0.12), π / 2), mm(400))   # chord tangent to the circle
darrieus = union(cylinder(mm(10), mm(460)),
                 circular_pattern(translate(blade, mm(150), 0.0, 0.0), 3; axis = 3))
FeatureUnion{Cylinder{Float64, Float64}, CircularPattern{Translate{Extrude{Rotate2D{Polygon2D{Float64}, Float64}, Float64}, Float64, Float64, Float64}, Int64, Int64}}(Cylinder{Float64, Float64}(0.01, 0.46), CircularPattern{Translate{Extrude{Rotate2D{Polygon2D{Float64}, Float64}, Float64}, Float64, Float64, Float64}, Int64, Int64}(Translate{Extrude{Rotate2D{Polygon2D{Float64}, Float64}, Float64}, Float64, Float64, Float64}(Extrude{Rotate2D{Polygon2D{Float64}, Float64}, Float64}(Rotate2D{Polygon2D{Float64}, Float64}(Polygon2D{Float64}([[0.0, 0.0], [0.003157894736842105, 0.00217975181633024], [0.00631578947368421, 0.0028615395271260904], [0.009473684210526316, 0.0032533830306884118], [0.01263157894736842, 0.0034765463195643555], [0.015789473684210527, 0.0035817815237314784], [0.018947368421052633, 0.0035976585461547222], [0.022105263157894735, 0.0035428815227857], [0.02526315789473684, 0.0034307943234720283], [0.028421052631578948, 0.0032713911324185625]  …  [0.031578947368421054, -0.0030723378243778686], [0.028421052631578948, -0.0032713911324185625], [0.02526315789473684, -0.0034307943234720283], [0.022105263157894735, -0.0035428815227857], [0.018947368421052633, -0.0035976585461547222], [0.015789473684210527, -0.0035817815237314784], [0.01263157894736842, -0.0034765463195643555], [0.009473684210526316, -0.0032533830306884118], [0.00631578947368421, -0.0028615395271260904], [0.003157894736842105, -0.00217975181633024]]), 1.5707963267948966), 0.4), 0.15, 0.0, 0.0), 3, 3))

The blade sits chord-tangent to the pitch circle at radius 150, the way most H-rotors run (zero pitch). Three of them — one circular pattern — and the rotor is complete:

vtk(darrieus; n = 20)
lo, hi = bounds(darrieus)
println("rotor diameter: ", mmv(hi[1] - lo[1]), " mm   (2 × 165 = 330 expected)")
rotor diameter: 329.8 mm   (2 × 165 = 330 expected)

The rotor diameter is not 2 × 150 but 2 × √(150² + 30²) ≈ 330 — the blade tip reaches past the pitch radius because the chord lies tangent to it. On the test stand, a lift machine runs at λ ≈ 3–4:

λ = 3.5
D_dar = 0.330
n = 60 * λ * V / (π * D_dar)
println("rotational speed: ", round(n; digits = 0), " RPM")
A = D_dar * (400 * 1e-3)
println("swept area: ", round(A; digits = 3), " m²")
P = 0.5 * ρ * A * V^3 * 0.30
println("power: ", round(P; digits = 1), " W  (Cp ≈ 0.30)")
rotational speed: 1620.0 RPM
swept area: 0.132 m²
power: 12.4 W  (Cp ≈ 0.30)

Twice the power of the Savonius from the same wind, at four times the shaft speed — the payoff of lift over drag. The trade: Darrieus rotors do not self-start (the blades stall at standstill), so real designs add a small Savonius on the same shaft.

The three-blade horizontal-axis turbine

The familiar windmill: three tapered, twisted blades on a hub, a nacelle, and a tower. The blade is the one genuinely new drawing feature: its root is a fat 20%-thick NACA section (structural stiffness where the bending moment lives), its tip a thin 10% section, and the tip is rotated 20° — the twist that keeps every blade station at its best angle of attack despite the higher tip speed. loft morphs one sketch into the other along the blade:

root  = naca0012(mm(80), 0.20)                       # thick structural root
tip   = rotate(naca0012(mm(40), 0.10), deg2rad(20))  # thin twisted tip
blade = loft(root, tip, mm(450))

# the blade lies along the rotor axis: root at the hub radius, tip at r = 500
blade_x = translate(rotate(blade, rotation_y(π / 2)), mm(275), 0.0, 0.0)
Translate{Rotate{Loft{Polygon2D{Float64}, Rotate2D{Polygon2D{Float64}, Float64}, Float64}, Matrix{Float64}}, Float64, Float64, Float64}(Rotate{Loft{Polygon2D{Float64}, Rotate2D{Polygon2D{Float64}, Float64}, Float64}, Matrix{Float64}}(Loft{Polygon2D{Float64}, Rotate2D{Polygon2D{Float64}, Float64}, Float64}(Polygon2D{Float64}([[0.0, 0.0], [0.004210526315789474, 0.004843892925178311], [0.008421052631578947, 0.006358976726946868], [0.01263157894736842, 0.007229740068196471], [0.016842105263157894, 0.007725658487920791], [0.021052631578947368, 0.007959514497181061], [0.02526315789473684, 0.007994796769232714], [0.029473684210526315, 0.00787307005063489], [0.03368421052631579, 0.007623987385493401], [0.037894736842105266, 0.00726975807204125]  …  [0.042105263157894736, -0.006827417387506375], [0.037894736842105266, -0.00726975807204125], [0.03368421052631579, -0.007623987385493401], [0.029473684210526315, -0.00787307005063489], [0.02526315789473684, -0.007994796769232714], [0.021052631578947368, -0.007959514497181061], [0.016842105263157894, -0.007725658487920791], [0.01263157894736842, -0.007229740068196471], [0.008421052631578947, -0.006358976726946868], [0.004210526315789474, -0.004843892925178311]]), Rotate2D{Polygon2D{Float64}, Float64}(Polygon2D{Float64}([[0.0, 0.0], [0.002105263157894737, 0.0012109732312945778], [0.004210526315789474, 0.001589744181736717], [0.00631578947368421, 0.0018074350170491178], [0.008421052631578947, 0.0019314146219801978], [0.010526315789473684, 0.0019898786242952653], [0.01263157894736842, 0.0019986991923081785], [0.014736842105263158, 0.0019682675126587224], [0.016842105263157894, 0.0019059968463733502], [0.018947368421052633, 0.0018174395180103125]  …  [0.021052631578947368, -0.0017068543468765937], [0.018947368421052633, -0.0018174395180103125], [0.016842105263157894, -0.0019059968463733502], [0.014736842105263158, -0.0019682675126587224], [0.01263157894736842, -0.0019986991923081785], [0.010526315789473684, -0.0019898786242952653], [0.008421052631578947, -0.0019314146219801978], [0.00631578947368421, -0.0018074350170491178], [0.004210526315789474, -0.001589744181736717], [0.002105263157894737, -0.0012109732312945778]]), 0.3490658503988659), 0.45), [6.123233995736766e-17 0.0 1.0; 0.0 1.0 0.0; -1.0 0.0 6.123233995736766e-17]), 0.275, 0.0, 0.0)
vtk(blade_x; n = 20)

Three of them around the shaft axis, on a hub — the same circular pattern, now about the horizontal axis:

hub   = rotate(cylinder(mm(30), mm(80)), rotation_y(π / 2))
rotor = union(hub, circular_pattern(blade_x, 3; axis = 1))
FeatureUnion{Rotate{Cylinder{Float64, Float64}, Matrix{Float64}}, CircularPattern{Translate{Rotate{Loft{Polygon2D{Float64}, Rotate2D{Polygon2D{Float64}, Float64}, Float64}, Matrix{Float64}}, Float64, Float64, Float64}, Int64, Int64}}(Rotate{Cylinder{Float64, Float64}, Matrix{Float64}}(Cylinder{Float64, Float64}(0.03, 0.08), [6.123233995736766e-17 0.0 1.0; 0.0 1.0 0.0; -1.0 0.0 6.123233995736766e-17]), CircularPattern{Translate{Rotate{Loft{Polygon2D{Float64}, Rotate2D{Polygon2D{Float64}, Float64}, Float64}, Matrix{Float64}}, Float64, Float64, Float64}, Int64, Int64}(Translate{Rotate{Loft{Polygon2D{Float64}, Rotate2D{Polygon2D{Float64}, Float64}, Float64}, Matrix{Float64}}, Float64, Float64, Float64}(Rotate{Loft{Polygon2D{Float64}, Rotate2D{Polygon2D{Float64}, Float64}, Float64}, Matrix{Float64}}(Loft{Polygon2D{Float64}, Rotate2D{Polygon2D{Float64}, Float64}, Float64}(Polygon2D{Float64}([[0.0, 0.0], [0.004210526315789474, 0.004843892925178311], [0.008421052631578947, 0.006358976726946868], [0.01263157894736842, 0.007229740068196471], [0.016842105263157894, 0.007725658487920791], [0.021052631578947368, 0.007959514497181061], [0.02526315789473684, 0.007994796769232714], [0.029473684210526315, 0.00787307005063489], [0.03368421052631579, 0.007623987385493401], [0.037894736842105266, 0.00726975807204125]  …  [0.042105263157894736, -0.006827417387506375], [0.037894736842105266, -0.00726975807204125], [0.03368421052631579, -0.007623987385493401], [0.029473684210526315, -0.00787307005063489], [0.02526315789473684, -0.007994796769232714], [0.021052631578947368, -0.007959514497181061], [0.016842105263157894, -0.007725658487920791], [0.01263157894736842, -0.007229740068196471], [0.008421052631578947, -0.006358976726946868], [0.004210526315789474, -0.004843892925178311]]), Rotate2D{Polygon2D{Float64}, Float64}(Polygon2D{Float64}([[0.0, 0.0], [0.002105263157894737, 0.0012109732312945778], [0.004210526315789474, 0.001589744181736717], [0.00631578947368421, 0.0018074350170491178], [0.008421052631578947, 0.0019314146219801978], [0.010526315789473684, 0.0019898786242952653], [0.01263157894736842, 0.0019986991923081785], [0.014736842105263158, 0.0019682675126587224], [0.016842105263157894, 0.0019059968463733502], [0.018947368421052633, 0.0018174395180103125]  …  [0.021052631578947368, -0.0017068543468765937], [0.018947368421052633, -0.0018174395180103125], [0.016842105263157894, -0.0019059968463733502], [0.014736842105263158, -0.0019682675126587224], [0.01263157894736842, -0.0019986991923081785], [0.010526315789473684, -0.0019898786242952653], [0.008421052631578947, -0.0019314146219801978], [0.00631578947368421, -0.0018074350170491178], [0.004210526315789474, -0.001589744181736717], [0.002105263157894737, -0.0012109732312945778]]), 0.3490658503988659), 0.45), [6.123233995736766e-17 0.0 1.0; 0.0 1.0 0.0; -1.0 0.0 6.123233995736766e-17]), 0.275, 0.0, 0.0), 3, 1))
lo, hi = bounds(rotor)
println("blade tip at: ", mmv(hi[1]), " mm   → rotor diameter 2 × 500 = 1000 mm")
blade tip at: 500.0 mm   → rotor diameter 2 × 500 = 1000 mm

The swept disc is π/4 × 1² = 0.785 m² — six times the Darrieus’s frontal area. Finish the machine: a capsule nacelle (the same two-circle-and-strip construction as the spanner’s jaw), and a tapering tower:

nacelle = union(translate(rotate(cylinder(mm(30), mm(120)), rotation_y(π / 2)), mm(-60), 0.0, 0.0),
                translate(sphere(mm(30)), mm(-120), 0.0, 0.0))
turbine = union(union(rotor, nacelle), translate(cone(mm(40), mm(1200)), 0.0, 0.0, mm(-600)))

vtk(turbine; n = 16)

On the test stand, at the modern three-blade tip speed ratio of λ = 6:

λ = 6.0
D_hawt = 1.0
n = 60 * λ * V / (π * D_hawt)
println("rotational speed: ", round(n; digits = 0), " RPM")
A = π / 4 * D_hawt^2
println("swept area: ", round(A; digits = 3), " m²")
P = 0.5 * ρ * A * V^3 * 0.45
println("power: ", round(P; digits = 0), " W  (Cp ≈ 0.45; Betz limit 0.59)")
rotational speed: 917.0 RPM
swept area: 0.785 m²
power: 111.0 W  (Cp ≈ 0.45; Betz limit 0.59)

About 110 W from a one-metre rotor in an 8 m/s wind — and the Cp of 0.45 sits where commercial small turbines live, approaching the Betz limit of 0.59 that no turbine can exceed.

The family side by side

The three rotors are one family, and the numbers show how the families differ:

Savonius Darrieus H-rotor Three-blade HAWT
Axis vertical vertical horizontal
Drives itself by drag lift lift
Diameter 300 mm 330 mm 1000 mm
Tip speed ratio 0.8–1 3–4 6
Speed in 8 m/s wind ≈ 460 RPM ≈ 1600 RPM ≈ 920 RPM
Power at 8 m/s ≈ 6 W ≈ 12 W ≈ 110 W

More speed means more power per square metre — but also more structure: the HAWT’s 920 RPM blade tips run at 48 m/s and need a real airfoil and balance, while the Savonius’s 460 RPM tips barely reach 7 m/s and can be sheet metal bolted together. The right turbine is the one whose speed, cost, and self-starting behaviour match the job — and each of the three here was drawn with the same handful of features: an arc offset, a pattern, a loft, a boolean.

Next steps