add shared ptr