Added an explanatory diagram