adding an "unshare" feature to allow deallocating shared instance