shared_ptr was not totally fixed