shared_ptr fixes