restored the orginal code, and re-added the canMutationObserver