updated uniminus and modulo functions