Added the Rule abstract class and several subclasses