             DispatchQueue.main.asyncAfter(deadline: delayTime) {
                 
                 if self.navigationController?.visibleViewController == self {
-                    // 2
-                    var tutorial = YCTutorialBox(headline: "Setup a new device", withHelpText: "Tap the plus button to set up a new Photon or Electron device you wish to add to your account")
-                    tutorial?.showAndFocus(self.setupNewDeviceButton)
-                    
-                    
-                    // 1
-                    let firstDeviceCell = self.tableView.cellForRow(at: IndexPath(row: 0, section: 0)) // TODO: what is theres not cell
-                    tutorial = YCTutorialBox(headline: "Your devices", withHelpText: "See and manage your devices.\n\nOnline devices have their indicator 'breathing' cyan, offline ones are gray.\n\nTap a device to enter Tinker or Device Inspector mode, device must run Tinker firmware to enter Tinker mode.\n\nSwipe left to remove a device from your account.\n\nPull down to refresh your list.")
-                    tutorial?.showAndFocus(firstDeviceCell)
+
+
+                    if (ParticleCloud.sharedInstance().isAuthenticated) {
+                        // 2
+                        var tutorial = YCTutorialBox(headline: "Setup a new device", withHelpText: "Tap the plus button to set up a new Photon or Electron device you wish to add to your account")
+                        tutorial?.showAndFocus(self.setupNewDeviceButton)
+
+                        // 1
+                        let firstDeviceCell = self.tableView.cellForRow(at: IndexPath(row: 0, section: 0))
+                        tutorial = YCTutorialBox(headline: "Your devices", withHelpText: "See and manage your devices.\n\nOnline devices have their indicator 'breathing' cyan, offline ones are gray.\n\nTap a device to enter Tinker or Device Inspector mode, device must run Tinker firmware to enter Tinker mode.\n\nSwipe left to remove a device from your account.\n\nPull down to refresh your list.")
+                        tutorial?.showAndFocus(firstDeviceCell)
+                    } else {
+                        // 2
+                        var tutorial = YCTutorialBox(headline: "Setup a new device", withHelpText: "Tap the plus button to set up a new wifi credentials for your Photon device")
+                        tutorial?.showAndFocus(self.setupNewDeviceButton)
+                    }
                     
                     ParticleUtils.setTutorialWasDisplayedForViewController(self)
                 }


        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")

    @IBAction func setupNewDeviceButtonTapped(_ sender: UIButton) {
        let alert = UIAlertController(title: "Setup up a new device", message: nil, preferredStyle: .actionSheet)

        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
