         self.initialDevice.transceiver!.sendGetConnectionStatus { result, status in
             self.log("initialDevice.sendGetConnectionStatus: \(result)")
             if (result == .NONE) {
-                self.log("status: \(status)")
+                self.log("status: \(status as Optional)")
                 if (status! == .connected) {
                     self.log("device connected to the cloud")
                     DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + .seconds(5)) {

    }

    private func fail(withReason reason: MeshSetupFlowError, severity: MeshSetupErrorSeverity = .Error, nsError: Error? = nil) {
        log("error: \(reason.localizedDescription), nsError: \(nsError?.localizedDescription)")
        self.delegate.meshSetupError(error: reason, severity: severity, nsError: nsError)
    }


    case InitialDeviceConnecting
    case InitialDeviceConnected
    case InitialDeviceReady

    case CommissionerDeviceConnecting
    case CommissionerDeviceConnected
    case CommissionerDeviceReady
