     //static char timea[12];
     //ltoa(clock->time_remaining_ms/100, timea, 10);
     screen->display_text(clock->human_time_remaining());
+    if (clock->flag()) {
+      screen->display_flag();
+    }
   };
 
   void display_test_pattern() {

      time_remaining_ms -= time_since_last_update_ms;
    }
    last_update_ms = millis();
  };

  char *human_time_remaining() {

        // serprintf("Previous character was: %c\r\n", prev_text[i]);

        // erase this character cell
        tft->fill(0,0,0);
        // tft->stroke(255,0,0); // draw bounding box
        tft->stroke(0,0,0);
        tft->rect(margin_left + fonts[FONT].char_width_px * i, 20,
                  fonts[FONT].char_width_px, fonts[FONT].char_height_px);

        // print the new character
        char next_char[2] = {text[i], '\0' };
        tft->stroke(255,255,255);
        tft->text(next_char, margin_left + i * fonts[FONT].char_width_px, margin_top);
      }
    }
    strncpy(prev_text, text, sizeof(prev_text));
  }

  void display_flag() {
    tft->stroke(0,0,255);
    tft->fill(0,0,255);
    tft->rect(margin_left, margin_top + fonts[FONT].char_height_px + margin_middle,
              tft->width() * 2 / 3, fonts[FONT].char_height_px);
  }
};

