share impls