since the shared_ptr is not constant, wouldnt this allow re-assignment of the pointer to a different object?