new randomize + minor changes