     v1.1.0 - Added Markov-based speed control
     v1.2.0 - Added Markov-based pause length/frequency
     v1.2.1 - Added Heartbeat during pause
+    v1.2.2 - Added laser shake to enhance cat enjoyment
 */
 /**************************************************************************/
 

int getMarkovSpeed(int oldSpeed){
  int probability = random(101);
  int lowVal = 2;
  int midVal = 5;
  int hiVal = 10;

  if(oldSpeed == lowVal){
    if(probability < 20){



  panTilt.updateAngles();

  if(markovState(30, 40) == 1){
    shake();
  }

  if(random(1001) < 12){
    delay(markovPause());
