added algorithm for generating fixed sized subsets