 
     internal func showPricingInfoView(info: ParticlePricingInfo) {
         DispatchQueue.main.async {
-            if let vc = self.embededNavigationController.topViewController as? MeshSetupPricingInfoViewController {
-                //the call has been retried and if cc was added it should pass this time
-                self.pricingInfoViewCompleted()
-            } else {
-                if (!self.rewindTo(MeshSetupPricingInfoViewController.self)) {
-                    let pricingInfoVC = MeshSetupPricingInfoViewController.loadedViewController()
-                    pricingInfoVC.ownerStepType = self.currentStepType
-                    pricingInfoVC.setup(didPressContinue: self.pricingInfoViewCompleted, pricingInfo: info)
-                    self.embededNavigationController.pushViewController(pricingInfoVC, animated: true)
-                }
+            if (!self.rewindTo(MeshSetupPricingInfoViewController.self)) {
+                let pricingInfoVC = MeshSetupPricingInfoViewController.loadedViewController()
+                pricingInfoVC.ownerStepType = self.currentStepType
+                pricingInfoVC.setup(didPressContinue: self.pricingInfoViewCompleted, pricingInfo: info)
+                self.embededNavigationController.pushViewController(pricingInfoVC, animated: true)
             }
         }
     }

    internal func pricingInfoViewCompleted() {
        if let error = self.flowRunner.setPricingImpactDone() {
            DispatchQueue.main.async {
                var message = error.description

                if (self.hideAlertIfVisible()) {
                    self.alert = UIAlertController(title: MeshSetupStrings.Prompt.ErrorTitle, message: message, preferredStyle: .alert)

                    self.alert!.addAction(UIAlertAction(title: MeshSetupStrings.Action.Retry, style: .default) { action in
                        //reload pricing impact endpoint
                        self.flowRunner.retryLastAction()
                    })

                    self.alert!.addAction(UIAlertAction(title: MeshSetupStrings.Action.CancelSetup, style: .cancel) { action in
                        //do nothing
                        self.cancelTapped(self)
                    })

                    self.present(self.alert!, animated: true)
                }
            }
        }
    }





import Crashlytics
import MessageUI

class MeshSetupUIBase : UIViewController, Storyboardable, MeshSetupFlowRunnerDelegate, MFMailComposeViewControllerDelegate, UINavigationControllerDelegate, STPAddCardViewControllerDelegate {

    @IBOutlet weak var backButton: UIButton!
    @IBOutlet weak var backButtonImage: UIImageView!
