use smart_ptr to wrap the VerificationProgress object