implementing sharing
implemented new sharing