added modulus operator