Added comments on what each rule does