add sampling such as MCMC metropolis