modulus function fix