add share and set private methods