     // Start feeling
     whiskersStart();
   }
+}
+
+void actionDance1StateMachine(byte motion_state)
+{
+  switch (motion_state) {
+    case M_STOP:
+       // spin left for 3 seconds
+       actionTimeoutStart(3000);
+       motionRotateLeft(255);    
+      break;
+                
+    case M_ROTATE_LEFT:
+      if (action_done) {
+        // Go forward a random amount
+        actionTimeoutStart(random(300,600));
+        motionFwd(250);
+      }
+      break;
+      
+    case M_FWD:
+      if (action_done) {
+        // Go Back a random amount
+        actionTimeoutStart(random(300,600));
+        motionRev(250);
+      }
+      break;
+      
+    case M_REV:
+      if (action_done) {
+        Serial.println("DANCE1 DONE");
+        // Trundle away
+        actionTrundle();
+      }
+      break;
+      
+    default:
+      break;
+  }   
 }
 
 /**

  Serial.println("WHISKERSEARCH RIGHT");
  // Set the state, so the action can be handled by the state machine.
  action_state = A_WHISKERSEARCH_RIGHT;
}

void actionTimeoutStart(int duration)

  action_state = A_WHISKERSEARCH_LEFT;
}

void actionWhiskerSearchLeftStateMachine(byte motion_state)
{
  // Do the same as the ping search.
  actionPingSearchStateMachine(motion_state);
}

/**
 * Look for somewhare to go.
 */
