add share factory