What makes IP work in varying interoperable scenarios?