all working but randomize