add rejection sampling