FEAT: dynamic rules
FEAT: IF added
FEAT: test added for IF and EITHER