use of biased backward sampling, not uniform sampling
added uniform sampler
move the weight scoring at the final step.
better argument passing using a specialized struct (but still ugly...)
added uniform sampler with the option "uniform=true"