adjusted random generation