Wrote a slightly less lazy explanation.