added modulus rule