     
     internal static var firstViewControllerPushed = false
     private var rootViewController : UIViewController?
+    private var sdkRootViewController : MercadoPagoUIViewController?
     
     public init(checkoutPreference : CheckoutPreference, paymentData : PaymentData? = nil, discount: DiscountCoupon? = nil, navigationController : UINavigationController, paymentResult: PaymentResult? = nil) {
         viewModel = MercadoPagoCheckoutViewModel(checkoutPreference : checkoutPreference, paymentData: paymentData, paymentResult: paymentResult, discount : discount)

                    self.executeNextStep()
                }
            })
            self.navigationController.pushViewController(checkoutVC, animated: true);
            CATransaction.begin();
            CATransaction.setCompletionBlock {
                self.cleanNavigationStack()
            }
            CATransaction.commit();
    }
	
	func cleanNavigationStack () {

        var  newNavigationStack = self.navigationController.viewControllers.filter {!$0.isKind(of:MercadoPagoUIViewController.self) || $0.isKind(of:CheckoutViewController.self);
        }
        self.navigationController.viewControllers = newNavigationStack;
        // Actualizar rootVC de sdk
        self.sdkRootViewController = self.navigationController.viewControllers[0] as? MercadoPagoUIViewController
        
	}
	
