added a shuffle, random group sizes and each slice to code