Syncing up again with IIPC

Syncing our personal fork with the IIPC version.