add smoothing to sampling