refactored Rule parsing methods out of the Rule class