constraints with multiple options. not fully robust yet