added modulo operator