cleanup the test, reimplemented the Rule helper classes.