initial bad approach
fix shuffle bug and edit intersection
add extra credit