improve randomization