21.2, add shuffle; 21.3, corrections
21.3, add shuffle