Superposition and standing waves
Use the principle of superposition to explain how standing waves form, and find wavelengths from strings and microwaves.
On this page
Pluck a guitar string and it vibrates in a fixed pattern: some points never move while others swing widely, and nothing seems to travel along the string. That pattern is a standing wave, made by two waves travelling in opposite directions and adding together. This lesson starts with the rule for adding waves, the principle of superposition, and uses it to explain how standing waves form on strings and with microwaves.
The principle of superposition
The principle of superposition states that when two or more waves meet at a point, the resultant displacement at that point is the sum of the displacements of the individual waves.
The displacements are added with their signs. A displacement of + 3.0 mm from one wave and -2.0 mm from another give + 1.0 mm. Each wave then carries on as if the other had not been there: waves pass through each other unchanged.
Two overlapping pulses: construct the resultant
Pulse 1 rises from zero at x = 0 m to +4 mm at x = 2 m, then falls to zero at x = 4 m and stays at zero to x = 6 m. Pulse 2 stays at zero to x = 2 m, falls to −2 mm at x = 4 m, then returns to zero at x = 6 m. Each segment is straight.
Scroll across the figure to read all labels.
View figure data
| Position, x (m) | Pulse 1 | Pulse 2 |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 2 | 0 |
| 2 | 4 | 0 |
| 3 | 2 | -1 |
| 4 | 0 | -2 |
| 5 | 0 | -1 |
| 6 | 0 | 0 |
Check your understanding 1
Use the graph to find the resultant displacement at x = 2, 3, 4 and 5 m, then sketch the resultant pulse.
Show answer
Add the two displacements at each position. At x = 2 m: 4 + 0 = 4 mm. At x = 3 m: 2 + (-1) = 1 mm. At x = 4 m: 0 + (-2) = -2 mm. At x = 5 m: 0 + (-1) = -1 mm. The resultant rises from zero at x = 0 to 4 mm at x = 2 m, falls through zero between x = 3 and 4 m to -2 mm at x = 4 m, and returns to zero at x = 6 m.
Two waves of the same frequency that are in antiphase at a point push the medium in opposite directions at every instant. They cancel completely only if their amplitudes are also equal.
Spot the mistake 1
Does antiphase always cancel?
Learner claim
Two waves of the same frequency meet at a point with a phase difference of π. A learner says they must cancel completely, whatever their amplitudes. One amplitude is 6.0 mm and the other is 4.0 mm. Find the amplitude of the resultant oscillation.
Find the resultant amplitude
Show solution step by step
Use the phase condition
Method
Compare the two displacements at the same instant.Reason
In antiphase, one wave is at its positive maximum when the other is at its negative maximum.Working
When y₁ = +6.0 mm, y₂ = -4.0 mm.
Add the displacements
Working
y = 6.0-4.0 = 2.0 mm. The point still oscillates, with amplitude 2.0 mm. Complete cancellation needs equal amplitudes as well as antiphase.
How a standing wave forms
A standing (or stationary) wave forms when two waves of the same frequency, amplitude and speed travel in opposite directions through the same medium and superpose. Usually one is a wave reflected from a boundary, travelling back through the incoming wave.
The graph shows both travelling waves, and their sum, at one instant. Each has amplitude A.
Two travelling waves add to a standing-wave profile
An illustrative snapshot of two equal-amplitude sinusoidal waves travelling in opposite directions, with their point-by-point sum. The components have opposite signs at the fixed nodes; their sum has opposite signs in neighbouring loops.
Scroll across the figure to read all labels.
View figure data
| Position / wavelength, x/λ (unitless) | Right-travelling wave y₁ | Left-travelling wave y₂ | Resultant y₁ + y₂ |
|---|---|---|---|
| 0 | -0.7071 | 0.7071 | 0 |
| 0.0125 | -0.6494 | 0.7604 | 0.111 |
| 0.025 | -0.5878 | 0.809 | 0.2212 |
| 0.0375 | -0.5225 | 0.8526 | 0.3301 |
| 0.05 | -0.454 | 0.891 | 0.437 |
| 0.0625 | -0.3827 | 0.9239 | 0.5412 |
| 0.075 | -0.309 | 0.9511 | 0.642 |
| 0.0875 | -0.2334 | 0.9724 | 0.7389 |
| 0.1 | -0.1564 | 0.9877 | 0.8313 |
| 0.1125 | -0.07846 | 0.9969 | 0.9185 |
| 0.125 | 0 | 1 | 1 |
| 0.1375 | 0.07846 | 0.9969 | 1.075 |
| 0.15 | 0.1564 | 0.9877 | 1.144 |
| 0.1625 | 0.2334 | 0.9724 | 1.206 |
| 0.175 | 0.309 | 0.9511 | 1.26 |
| 0.1875 | 0.3827 | 0.9239 | 1.307 |
| 0.2 | 0.454 | 0.891 | 1.345 |
| 0.2125 | 0.5225 | 0.8526 | 1.375 |
| 0.225 | 0.5878 | 0.809 | 1.397 |
| 0.2375 | 0.6494 | 0.7604 | 1.41 |
| 0.25 | 0.7071 | 0.7071 | 1.414 |
| 0.2625 | 0.7604 | 0.6494 | 1.41 |
| 0.275 | 0.809 | 0.5878 | 1.397 |
| 0.2875 | 0.8526 | 0.5225 | 1.375 |
| 0.3 | 0.891 | 0.454 | 1.345 |
| 0.3125 | 0.9239 | 0.3827 | 1.307 |
| 0.325 | 0.9511 | 0.309 | 1.26 |
| 0.3375 | 0.9724 | 0.2334 | 1.206 |
| 0.35 | 0.9877 | 0.1564 | 1.144 |
| 0.3625 | 0.9969 | 0.07846 | 1.075 |
| 0.375 | 1 | 0 | 1 |
| 0.3875 | 0.9969 | -0.07846 | 0.9185 |
| 0.4 | 0.9877 | -0.1564 | 0.8313 |
| 0.4125 | 0.9724 | -0.2334 | 0.7389 |
| 0.425 | 0.9511 | -0.309 | 0.642 |
| 0.4375 | 0.9239 | -0.3827 | 0.5412 |
| 0.45 | 0.891 | -0.454 | 0.437 |
| 0.4625 | 0.8526 | -0.5225 | 0.3301 |
| 0.475 | 0.809 | -0.5878 | 0.2212 |
| 0.4875 | 0.7604 | -0.6494 | 0.111 |
| 0.5 | 0.7071 | -0.7071 | 0 |
| 0.5125 | 0.6494 | -0.7604 | -0.111 |
| 0.525 | 0.5878 | -0.809 | -0.2212 |
| 0.5375 | 0.5225 | -0.8526 | -0.3301 |
| 0.55 | 0.454 | -0.891 | -0.437 |
| 0.5625 | 0.3827 | -0.9239 | -0.5412 |
| 0.575 | 0.309 | -0.9511 | -0.642 |
| 0.5875 | 0.2334 | -0.9724 | -0.7389 |
| 0.6 | 0.1564 | -0.9877 | -0.8313 |
| 0.6125 | 0.07846 | -0.9969 | -0.9185 |
| 0.625 | 0 | -1 | -1 |
| 0.6375 | -0.07846 | -0.9969 | -1.075 |
| 0.65 | -0.1564 | -0.9877 | -1.144 |
| 0.6625 | -0.2334 | -0.9724 | -1.206 |
| 0.675 | -0.309 | -0.9511 | -1.26 |
| 0.6875 | -0.3827 | -0.9239 | -1.307 |
| 0.7 | -0.454 | -0.891 | -1.345 |
| 0.7125 | -0.5225 | -0.8526 | -1.375 |
| 0.725 | -0.5878 | -0.809 | -1.397 |
| 0.7375 | -0.6494 | -0.7604 | -1.41 |
| 0.75 | -0.7071 | -0.7071 | -1.414 |
| 0.7625 | -0.7604 | -0.6494 | -1.41 |
| 0.775 | -0.809 | -0.5878 | -1.397 |
| 0.7875 | -0.8526 | -0.5225 | -1.375 |
| 0.8 | -0.891 | -0.454 | -1.345 |
| 0.8125 | -0.9239 | -0.3827 | -1.307 |
| 0.825 | -0.9511 | -0.309 | -1.26 |
| 0.8375 | -0.9724 | -0.2334 | -1.206 |
| 0.85 | -0.9877 | -0.1564 | -1.144 |
| 0.8625 | -0.9969 | -0.07846 | -1.075 |
| 0.875 | -1 | 0 | -1 |
| 0.8875 | -0.9969 | 0.07846 | -0.9185 |
| 0.9 | -0.9877 | 0.1564 | -0.8313 |
| 0.9125 | -0.9724 | 0.2334 | -0.7389 |
| 0.925 | -0.9511 | 0.309 | -0.642 |
| 0.9375 | -0.9239 | 0.3827 | -0.5412 |
| 0.95 | -0.891 | 0.454 | -0.437 |
| 0.9625 | -0.8526 | 0.5225 | -0.3301 |
| 0.975 | -0.809 | 0.5878 | -0.2212 |
| 0.9875 | -0.7604 | 0.6494 | -0.111 |
| 1 | -0.7071 | 0.7071 | 0 |
Check your understanding 2
At x/λ = 1/8, read the two component displacements from the graph and find the resultant. What happens at x/λ = 0?
Show answer
At x/λ = 1/8, y₁/A = 0 and y₂/A = 1, so the resultant is y/A = 1. At x/λ = 0, the two displacements are equal and opposite, so they cancel. As the waves move on, they always cancel there: it is a node.
Repeat this addition at later instants and the resultant does not travel. It grows, shrinks and reverses in place:
One standing wave at three times
Two opposite standing-wave profiles and an equilibrium-line snapshot show two loops over one wavelength.
Scroll across the figure to read all labels.
View figure data
| Position / wavelength, x/λ (unitless) | t = 0 | t = T/4 | t = T/2 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0.008333 | 0.05234 | 0 | -0.05234 |
| 0.01667 | 0.1045 | 0 | -0.1045 |
| 0.025 | 0.1564 | 0 | -0.1564 |
| 0.03333 | 0.2079 | 0 | -0.2079 |
| 0.04167 | 0.2588 | 0 | -0.2588 |
| 0.05 | 0.309 | 0 | -0.309 |
| 0.05833 | 0.3584 | 0 | -0.3584 |
| 0.06667 | 0.4067 | 0 | -0.4067 |
| 0.075 | 0.454 | 0 | -0.454 |
| 0.08333 | 0.5 | 0 | -0.5 |
| 0.09167 | 0.5446 | 0 | -0.5446 |
| 0.1 | 0.5878 | 0 | -0.5878 |
| 0.1083 | 0.6293 | 0 | -0.6293 |
| 0.1167 | 0.6691 | 0 | -0.6691 |
| 0.125 | 0.7071 | 0 | -0.7071 |
| 0.1333 | 0.7431 | 0 | -0.7431 |
| 0.1417 | 0.7771 | 0 | -0.7771 |
| 0.15 | 0.809 | 0 | -0.809 |
| 0.1583 | 0.8387 | 0 | -0.8387 |
| 0.1667 | 0.866 | 0 | -0.866 |
| 0.175 | 0.891 | 0 | -0.891 |
| 0.1833 | 0.9135 | 0 | -0.9135 |
| 0.1917 | 0.9336 | 0 | -0.9336 |
| 0.2 | 0.9511 | 0 | -0.9511 |
| 0.2083 | 0.9659 | 0 | -0.9659 |
| 0.2167 | 0.9781 | 0 | -0.9781 |
| 0.225 | 0.9877 | 0 | -0.9877 |
| 0.2333 | 0.9945 | 0 | -0.9945 |
| 0.2417 | 0.9986 | 0 | -0.9986 |
| 0.25 | 1 | 0 | -1 |
| 0.2583 | 0.9986 | 0 | -0.9986 |
| 0.2667 | 0.9945 | 0 | -0.9945 |
| 0.275 | 0.9877 | 0 | -0.9877 |
| 0.2833 | 0.9781 | 0 | -0.9781 |
| 0.2917 | 0.9659 | 0 | -0.9659 |
| 0.3 | 0.9511 | 0 | -0.9511 |
| 0.3083 | 0.9336 | 0 | -0.9336 |
| 0.3167 | 0.9135 | 0 | -0.9135 |
| 0.325 | 0.891 | 0 | -0.891 |
| 0.3333 | 0.866 | 0 | -0.866 |
| 0.3417 | 0.8387 | 0 | -0.8387 |
| 0.35 | 0.809 | 0 | -0.809 |
| 0.3583 | 0.7771 | 0 | -0.7771 |
| 0.3667 | 0.7431 | 0 | -0.7431 |
| 0.375 | 0.7071 | 0 | -0.7071 |
| 0.3833 | 0.6691 | 0 | -0.6691 |
| 0.3917 | 0.6293 | 0 | -0.6293 |
| 0.4 | 0.5878 | 0 | -0.5878 |
| 0.4083 | 0.5446 | 0 | -0.5446 |
| 0.4167 | 0.5 | 0 | -0.5 |
| 0.425 | 0.454 | 0 | -0.454 |
| 0.4333 | 0.4067 | 0 | -0.4067 |
| 0.4417 | 0.3584 | 0 | -0.3584 |
| 0.45 | 0.309 | 0 | -0.309 |
| 0.4583 | 0.2588 | 0 | -0.2588 |
| 0.4667 | 0.2079 | 0 | -0.2079 |
| 0.475 | 0.1564 | 0 | -0.1564 |
| 0.4833 | 0.1045 | 0 | -0.1045 |
| 0.4917 | 0.05234 | 0 | -0.05234 |
| 0.5 | 1.225e-16 | 0 | -1.225e-16 |
| 0.5083 | -0.05234 | 0 | 0.05234 |
| 0.5167 | -0.1045 | 0 | 0.1045 |
| 0.525 | -0.1564 | 0 | 0.1564 |
| 0.5333 | -0.2079 | 0 | 0.2079 |
| 0.5417 | -0.2588 | 0 | 0.2588 |
| 0.55 | -0.309 | 0 | 0.309 |
| 0.5583 | -0.3584 | 0 | 0.3584 |
| 0.5667 | -0.4067 | 0 | 0.4067 |
| 0.575 | -0.454 | 0 | 0.454 |
| 0.5833 | -0.5 | 0 | 0.5 |
| 0.5917 | -0.5446 | 0 | 0.5446 |
| 0.6 | -0.5878 | 0 | 0.5878 |
| 0.6083 | -0.6293 | 0 | 0.6293 |
| 0.6167 | -0.6691 | 0 | 0.6691 |
| 0.625 | -0.7071 | 0 | 0.7071 |
| 0.6333 | -0.7431 | 0 | 0.7431 |
| 0.6417 | -0.7771 | 0 | 0.7771 |
| 0.65 | -0.809 | 0 | 0.809 |
| 0.6583 | -0.8387 | 0 | 0.8387 |
| 0.6667 | -0.866 | 0 | 0.866 |
| 0.675 | -0.891 | 0 | 0.891 |
| 0.6833 | -0.9135 | 0 | 0.9135 |
| 0.6917 | -0.9336 | 0 | 0.9336 |
| 0.7 | -0.9511 | 0 | 0.9511 |
| 0.7083 | -0.9659 | 0 | 0.9659 |
| 0.7167 | -0.9781 | 0 | 0.9781 |
| 0.725 | -0.9877 | 0 | 0.9877 |
| 0.7333 | -0.9945 | 0 | 0.9945 |
| 0.7417 | -0.9986 | 0 | 0.9986 |
| 0.75 | -1 | 0 | 1 |
| 0.7583 | -0.9986 | 0 | 0.9986 |
| 0.7667 | -0.9945 | 0 | 0.9945 |
| 0.775 | -0.9877 | 0 | 0.9877 |
| 0.7833 | -0.9781 | 0 | 0.9781 |
| 0.7917 | -0.9659 | 0 | 0.9659 |
| 0.8 | -0.9511 | 0 | 0.9511 |
| 0.8083 | -0.9336 | 0 | 0.9336 |
| 0.8167 | -0.9135 | 0 | 0.9135 |
| 0.825 | -0.891 | 0 | 0.891 |
| 0.8333 | -0.866 | 0 | 0.866 |
| 0.8417 | -0.8387 | 0 | 0.8387 |
| 0.85 | -0.809 | 0 | 0.809 |
| 0.8583 | -0.7771 | 0 | 0.7771 |
| 0.8667 | -0.7431 | 0 | 0.7431 |
| 0.875 | -0.7071 | 0 | 0.7071 |
| 0.8833 | -0.6691 | 0 | 0.6691 |
| 0.8917 | -0.6293 | 0 | 0.6293 |
| 0.9 | -0.5878 | 0 | 0.5878 |
| 0.9083 | -0.5446 | 0 | 0.5446 |
| 0.9167 | -0.5 | 0 | 0.5 |
| 0.925 | -0.454 | 0 | 0.454 |
| 0.9333 | -0.4067 | 0 | 0.4067 |
| 0.9417 | -0.3584 | 0 | 0.3584 |
| 0.95 | -0.309 | 0 | 0.309 |
| 0.9583 | -0.2588 | 0 | 0.2588 |
| 0.9667 | -0.2079 | 0 | 0.2079 |
| 0.975 | -0.1564 | 0 | 0.1564 |
| 0.9833 | -0.1045 | 0 | 0.1045 |
| 0.9917 | -0.05234 | 0 | 0.05234 |
| 1 | -2.449e-16 | 0 | 2.449e-16 |
- At nodes the two waves always cancel, so the displacement is zero at every instant. At antinodes they always reinforce, and the amplitude is greatest: 2A.
- Neighbouring nodes are λ/2 apart, and a node is λ/4 from the nearest antinode. This is why measuring the node spacing gives the wavelength.
- Every point between two neighbouring nodes oscillates in phase, with an amplitude that depends on its position. Points in neighbouring loops are in antiphase.
The two travelling waves carry equal amounts of energy in opposite directions, so a standing wave transfers no energy along the medium. Energy is still stored in the oscillating medium.
| Progressive wave | Standing wave | |
|---|---|---|
| energy | transferred along the wave | not transferred; stored in place |
| amplitude | the same at every point | zero at nodes, maximum at antinodes |
| phase | changes steadily along the wave | the same within a loop; antiphase in neighbouring loops |
| wave profile | moves at speed v | does not move |
Check your understanding 3
A snapshot of a standing wave shows the whole string lying flat. Does that mean every point is a node, and that the wave has no energy at that instant?
Show answer
No to both. A node has zero displacement at every instant; at this one instant the other points are just passing through equilibrium. They are moving at their greatest speed, so the energy is all kinetic at that moment.
Standing waves on a string
A string fixed at both ends cannot move at its ends, so both ends must be nodes. A standing wave can form only if a whole number of loops, each λ/2 long, fits exactly between them:
L = nλ/2 so fₙ = v/λ = nv/2L, n = 1,2,3,…
The lowest frequency, with one loop, is the fundamental. The others, the harmonics, are whole-number multiples of it. The wave speed v depends on the tension and the mass per unit length of the string, so keep these fixed when comparing modes.
In the lab, one end of a string is attached to a vibrator driven by a signal generator, and the other passes over a pulley to a hanging mass that sets the tension. Waves sent along the string reflect at the pulley. As the frequency is raised slowly, a large standing wave appears at each harmonic frequency. In the simulation, find the first three harmonics and count the loops at each. The simulation includes energy losses, so its nodes are not perfectly still.
A string fixed at both ends, 1.000 metres long, driven at 80.00 hertz. It is resonating in the 2nd harmonic, with 3 nodes.
- Frequency, f
- 80.0 Hz
- Wavelength, λ
- 1.00 m
- Length, L
- 1.000 m
- Wave speed, v
- 80.0 m/s
- Harmonic
- 2nd
Try this
0 of 4 doneMake the string vibrate in three loops. (not done yet)
Three loops is the 3rd harmonic: L = 3λ/2, at three times the fundamental frequency.
Find the lowest resonant frequency of a closed pipe, then of an open pipe of the same length. (not done yet)
The open pipe's fundamental is about twice the closed pipe's: L ≈ λ/2 for an open pipe but L ≈ λ/4 for a closed one.
Find the closed pipe's next resonance above its fundamental. (not done yet)
It is at 3f₁, not 2f₁: a closed end must be a node and an open end an antinode, so only odd harmonics fit.
Keep the frequency fixed and find two successive resonance lengths of the closed pipe. (not done yet)
They differ by half a wavelength, so λ = 2(L₂ − L₁). The end correction cancels in the subtraction.
Your readings
| # | f / Hz | L / m | 1/f / s | Remove |
|---|---|---|---|---|
| No readings yet. Set up a measurement, then record it. | ||||
Worked example 2
Three loops on a string
Problem
A string fixed at both ends is 0.600 m long and shows three loops at 3.00 × 10² Hz. Find the wavelength and the wave speed, and compare the motion of points in neighbouring loops.
Worked solution
Count half-wavelengths
Method
Relate the loops to the length.Reason
Each loop lies between two neighbouring nodes, which are half a wavelength apart.Working
L = 3λ/2, so λ = 2(0.600)/3 = 0.400 m.
Find the speed
Reason
The standing wave is made of two travelling waves with this frequency and wavelength.Working
v = fλ = (300)(0.400) = 120 m s⁻¹
Compare neighbouring loops
Working
Points in neighbouring loops are in antiphase: when one is displaced up, the other is displaced down.
Spot the mistake 3
Wave speed from a second harmonic
Learner claim
A 0.60 m string vibrates in its second harmonic at 200 Hz. A learner uses v = 2Lf, the relation for the fundamental, and gets 240 m s⁻¹. Find the correct wave speed.
Correct the speed
Show solution step by step
Count the loops
Method
Use L = nλ/2 with n = 2.Reason
The second harmonic has two loops, so one whole wavelength fits on the string.Working
λ = L = 0.60 m
Calculate
Working
v = fλ = (200)(0.60) = 120 m s⁻¹
Standing microwaves
A microwave transmitter faces a flat metal plate. The plate reflects the microwaves straight back, and the reflected wave superposes with the incoming one to form a standing wave. Moving a small detector along the line between them, its reading rises and falls: it is large at antinodes and almost zero at nodes. Neighbouring nodes are λ/2 apart.
Measure the distance across many nodes, not just two. The uncertainty in each position reading is the same, so spreading it over many half-wavelengths makes the percentage uncertainty in λ much smaller.
Check your understanding 4
A detector moves from one node to the eleventh node along a standing microwave and travels 7.5 cm. Find the wavelength and the frequency of the microwaves. The speed of light is 3.0 × 10⁸ m s⁻¹.
Show answer
From the first node to the eleventh is 10 node spacings, so 10 × λ/2 = 7.5 cm, giving λ = 1.5 cm = 0.015 m. Then f = c/λ = (3.0 × 10⁸)/0.015 = 2.0 × 10¹⁰ Hz. Counting 11 nodes as 11 spacings is the usual mistake.
Exam-style question 1
Wave speed from a driven string
Examination question
A string is stretched between a vibrator and a pulley. Explain how a standing wave forms on the string, and describe how you would use it to find the speed of waves on the string. [4 marks]
Write your answer before viewing the mark scheme
Show solution step by step
Form the standing wave
2 marksMethod
Explain where the two travelling waves come from.Reason
A standing wave needs two equal waves travelling in opposite directions.Working
Waves from the vibrator reflect at the pulley, and the reflected wave superposes with the incoming wave. At certain frequencies a standing wave forms, with nodes that stay still and antinodes that oscillate with the largest amplitude.
Measure and calculate
2 marksWorking
Read the frequency f from the signal generator. Measure the distance across several node spacings and divide by their number to find the mean spacing d. Then λ = 2d and v = fλ.
Self-mark with the mark scheme
Compare your response with each mark point. Select a point only when your response contains that evidence.
Tick each point only if your answer states it clearly.
Common mistakes
- Adding amplitudes instead of signed displacements at one instant.
- Taking the distance between neighbouring nodes as a whole wavelength. It is half a wavelength.
- Calling a point a node because it has zero displacement in one snapshot. A node never moves.
- Using f = v/2L for every harmonic. It is the fundamental only; count the loops.
- Counting 11 nodes as 11 node spacings. They make 10.
Before you move on
Check your understanding 5
Without looking back: state the principle of superposition. Why is a node a statement about the whole cycle? Why does an ideal standing wave transfer no energy along the medium?
Show answer
When waves meet at a point, the resultant displacement is the sum of the individual displacements. A node stays at zero displacement at every instant, not just in one snapshot. The two travelling waves carry equal energy in opposite directions, so there is no net transfer.
Was this lesson helpful?
Syllabus and review details
- GCE A-Level H2 Physics 2027 · 2027
Content Overview, PDF pages 9–10; Subject Content, PDF pages 11–30
Last reviewed: