dereference pointers before modulo operation
have to prefix enum types now