re-work randomness