gallery shared_ptr