added reflection sampling, CV functions not added