Modifications to work correctly in a distributed memory setting.