Rewrite ShuffleLock

Rewrite ShuffleLock to...work ;p