updated to include good comment; now combines, shuffles, and subsets