Added more locking

the locking module now handles the generation of a random chioce from
all the things that are unlocked.