add shared memory support