share implemented