add share func