Completed program. Generates, empties, shuffles