use shuffle instead of set()