     //store coordinate that uses to create waypoint mission
     var waypointList: [DJIWaypoint] = []
     
-    
-    var waypointMission: DJIMutableWaypointMission = DJIMutableWaypointMission()
+    var waypointMission: DJIWaypointMission = DJIMutableWaypointMission()
     var mission = DJIMutableWaypointMission()
-    var missionState: DJIWaypointMissionState?
-    var latestExecutionProgress: DJIWaypointExecutionProgress?
+    
     var customMission: DJICustomMission? = nil
     var missionSetup: Bool = false
     var deltaProcess: CGFloat = 0

            commands = [] //reset commands array after it's done
            orderText.text = "3"
        }
 
        // if none of those regex are matched, it will go to a String
        var strArr = words.characters.split{$0 == " "}.map(String.init)
        
        if strArr.count > 1 {
            
           
            //take off
            if strArr[0] == "take" && strArr[1] == "off" {
                takeOff(fc)
            }
            else if (strArr[0] == "power" && strArr[1] == "on") || strArr[0] == "on" {
                self.showAlertResult(info: "Power on function is not existed. Please say your next command !")
                // startPropellers(fc)
            }
            //say "power off" to off propellers
            //to ensure safety, this function will use auto land fuction to land the aircraft before turn off propellers
            else if (strArr[0] == "power" && strArr[1] == "off") || strArr[0] == "off"{
                stopPropellers(fc)
            }
            // say "goHome" to make the drone land
            else if strArr[0] == "go" && strArr[1] == "home"{
                goHome(fc)
            }

    
    // *************This is where the action happens after speech has been reconized!*********** //
    func transaction(_ transaction: SKTransaction!, didReceive recognition: SKRecognition!) {
        
        state = .sksIdle
        stateText.text = "Idle"
        //convert all text to lowercase
