     @IBAction func setupNewDeviceButtonTapped(_ sender: UIButton) {
         let alert = UIAlertController(title: "Setup up a new device", message: nil, preferredStyle: .actionSheet)
 
-        alert.addAction(UIAlertAction(title: "Argon / Boron / Xenon", style: .default) { action in
-            if (ParticleCloud.sharedInstance().isAuthenticated) {
-                ParticleLogger.logInfo(NSStringFromClass(type(of: self)), format: "Mesh setup started", withParameters: getVaList([]))
-                self.invokeMeshDeviceSetup()
-            } else {
-                RMessage.showNotification(withTitle: "Authentication", subtitle: "You must be logged to your Particle account in to setup an Argon / Boron / Xenon ", type: .error, customTypeName: nil, callback: nil)
-            }
-        })
+        if (ParticleCloud.sharedInstance().isAuthenticated) {
+            alert.addAction(UIAlertAction(title: "Argon / Boron / Xenon", style: .default) { action in
+                if (ParticleCloud.sharedInstance().isAuthenticated) {
+                    ParticleLogger.logInfo(NSStringFromClass(type(of: self)), format: "Mesh setup started", withParameters: getVaList([]))
+                    self.invokeMeshDeviceSetup()
+                } else {
+                    RMessage.showNotification(withTitle: "Authentication", subtitle: "You must be logged to your Particle account in to setup an Argon / Boron / Xenon ", type: .error, customTypeName: nil, callback: nil)
+                }
+            })
+        }
 
 
         alert.addAction(UIAlertAction(title: "Photon", style: .default) { action in


        self.viewsToFade = [self.tableView, self.moreButton, self.setupNewDeviceButton]

        self.addRefreshControl()
        self.fade(animated: false)
    }

    override func viewWillAppear(_ animated: Bool) {
        if ParticleCloud.sharedInstance().isAuthenticated {
            self.loadDevices()
        }

        SEGAnalytics.shared().track("Tinker_DeviceListScreenActivity")

            self.invokePhotonDeviceSetup()
        })

        if (ParticleCloud.sharedInstance().isAuthenticated) {
            alert.addAction(UIAlertAction(title: "Electron / SIM", style: .default) { action in
                if (ParticleCloud.sharedInstance().isAuthenticated) {
                    ParticleLogger.logInfo(NSStringFromClass(type(of: self)), format: "Electron setup started", withParameters: getVaList([]))
                    self.invokeElectronSetup()
                } else {
                    RMessage.showNotification(withTitle: "Authentication", subtitle: "You must be logged to your Particle account in to setup an Electron ", type: .error, customTypeName: nil, callback: nil)
                }
            })

            alert.addAction(UIAlertAction(title: "Core", style: .default) { action in
                DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(50)) { () -> Void in
                    self.showParticleCoreAppPopUp()
                }
            })
        }


        alert.addAction(UIAlertAction(title: "Cancel", style: .cancel) { action in
