add random distribution
use nullptr