See comments on line 21.