     
     public static var CUSTOMER_ID = ""
     
-    init(checkoutPreference : CheckoutPreference, paymentData : PaymentData, paymentOptionSelected : PaymentMethodOption, discount: DiscountCoupon? = nil) {
+    public init(checkoutPreference : CheckoutPreference, paymentData : PaymentData, paymentOptionSelected : PaymentMethodOption, discount: DiscountCoupon? = nil) {
         CheckoutViewModel.CUSTOMER_ID = ""
         self.preference = checkoutPreference
         self.paymentData = paymentData
         self.discount = discount
         self.paymentOptionSelected = paymentOptionSelected
-        
-        self.setSummaryRows()
+        super.init()
+        setSummaryRows()
     }
     
     func setSummaryRows() {

    
}

open class CheckoutViewModel {
    
    var shippingIncluded = false
    var freeShippingIncluded = false

    
    @IBOutlet weak var checkoutTable: UITableView!
    
   public init(viewModel: CheckoutViewModel, callbackPaymentData : @escaping (PaymentData) -> Void,  callbackCancel : @escaping ((Void) -> Void), callbackConfirm : @escaping (PaymentData) -> Void) {
        super.init(nibName: "CheckoutViewController", bundle: MercadoPago.getBundle())
        self.initCommon()
        self.viewModel = viewModel
