add share collect function