add SharedBuffer impl