Explain length ranges and shuffle generation