has all the functions except share