rule constants variable functionality