         int his=0;
         int lows=0;
         pix.disp(0xff, 0x000, 0);
-        for (int n=0; n<5; n++) {
+        for (int n=0; n<15; n++) {  // eval last n slots
           SERIAL_PRINT(i);
           SERIAL_PRINT("hist: ");
 

    // end of a time slot
    loCounts[tIndex]=loMotionCount;
    hiCounts[tIndex]=hiMotionCount;
    tIndex = (tIndex==(TSLOTS-1))?0:tIndex+1;
    if ((loMotionCount+hiMotionCount)==0) {
      // this slot had no motion
      noMoSlots++;
      if (dispPause)
        dispPause--;
      else
        idleShow();
      if (noMoSlots == 5) {
        // eval for possible throw
        int i = tIndex - (5+1);

    int f = face[i];
    pix.disp(orientDisp[f], 0xf00, 3000);
    pix.disp(orientDisp[f], 0xf60, 2000);
    CurieIMU.readAccelerometer(vcurr[0], vcurr[1], vcurr[2]);
    pix.disp(orientDisp[f], 0x0f0, 1000);
    signed char *t = orientable[i];
    t[0] = (signed char)(vcurr[0]>>8);
    t[1] = (signed char)(vcurr[1]>>8);
