change the Rule from class to interface