      */
     open class var accountToken: String? {
         set {
-            sharedInstance.accountToken = newValue
+            shared.accountToken = newValue
         }
         get {
-            return sharedInstance.accountToken
+            return shared.accountToken
         }
     }
     
     // MARK: - Methods
+    
+    /*open class func lookup(_ phoneNumber: String, countryCode: String? = nil, type: String? = nil, addOns: [TwilioAddOn]? = nil, completion: (TwilioLookupResponse?, Error?) -> ()) {
+        TwilioLookup.sharedInstance.lookup(phoneNumber, countryCode: countryCode, type: type, addOns: addOns, completion: completion)
+    }*/
+    
+    // MARK: -
+    // MARK: Private vars
+    
+    public static let shared = TwilioLookup()
+    
+    internal var accountSid: String?
+    internal var accountToken: String?
+    
+    // MARK: Implementations
     
     /**
      Use this method to lookup on Twilio for a certain phone number. You can also pass the country ISO code and the type.

     */
    open class var accountSid: String? {
        set {
            sharedInstance.accountSid = newValue
        }
        get {
            return sharedInstance.accountSid
        }
    }
    

     
     - seealso: TwilioLookupResponse
     */
    
    public func lookup(_ phoneNumber: String, countryCode: String?, type: String? = nil, addOns: [TwilioAddOn]? = nil, completion: @escaping (TwilioLookupResponse?, Error?) -> ()) {
        
        var parameters: [String: Any] = [:]
        
