     
             
             if CDVBMSPush.pushUserId.isEmpty{
-                self.push.registerWithDeviceToken(deviceToken) { (response, statusCode, error) -> Void in
+                BMSPushClient.sharedInstance.registerWithDeviceToken(deviceToken) { (response, statusCode, error) -> Void in
                     
                     if error.isEmpty {
                         

                return
            }
            let tagsArray = [tag]
            self.push.unsubscribeFromTags(tagsArray, completionHandler: { (response, statusCode, error) -> Void in
                if error.isEmpty{
                    let pluginResult = CDVPluginResult(status: CDVCommandStatus_OK, messageAsArray:[response!.description])
                    // call success callback

    func retrieveAvailableTags(command: CDVInvokedUrlCommand) {
        self.commandDelegate.runInBackground({
            
            BMSPushClient.sharedInstance.retrieveSubscriptionsWithCompletionHandler { (response, statusCode, error) -> Void in
                
                if error.isEmpty {
                    
