added options to contrain by probability