Reverted sharedptr and delegated responsability on the user