     int byte1 = (numChars * 5) >> 7;
     int byte2 = ((numChars * 5) & 0x7f) << 1;
     
-    q.enqueue(0b100100001);
-    q.enqueue(0b000001011);
-    q.enqueue(0b100100001);
-    q.enqueue(0b000001101);
-    q.enqueue(0b000000111);
-    q.enqueue(0b100100001);
+    sendByte(0b100100001);
+    sendByte(0b000001011);
+    sendByte(0b100100001);
+    sendByte(0b000001101);
+    sendByte(0b000000111);
+    sendByte(0b100100001);
     
     if (numChars <= 23 || numChars >= 26) {
-        q.enqueue(0b000000110);
+        sendByte(0b000000110);
 
         // We will send two bytes from a 10-bit number
         // which is numChars * 5. The top three bits

  // 1 == down
  // 4 == micro-down
  // 21 == micro-up
  q.enqueue(0b100100001);
  q.enqueue(0b000001011);
  q.enqueue(0b100100001);
  q.enqueue(0b000000101);
  if (direction == 0) { // cursor-up (paper-down)
      q.enqueue(0b000001000);
  } else if (direction == 1) {
      q.enqueue(0b010001000); // cursor-down (paper-up)
  } else if (direction == 4) {
      q.enqueue(0b010000010); // cursor-micro-down (paper-micro-up)
  } else if (direction == 21) {
      q.enqueue(0b000000010); // cursor-micro-up (paper-micro-down)
  }
  q.enqueue(0b100100001);
  q.enqueue(0b000001011);
  sendBytes();
  delay(LETTER_DELAY * 2); // give it a bit more time
}

void backspace_no_correct() {
    q.enqueue(0b100100001);
    q.enqueue(0b000001011);
    q.enqueue(0b100100001);
    q.enqueue(0b000001101);
    q.enqueue(0b000000100);
    q.enqueue(0b100100001);
    q.enqueue(0b000000110);
    q.enqueue(0b000000000);
    q.enqueue(0b000001010);
    q.enqueue(0b100100001);
    sendBytes();
  
    // send one more byte but don't wait explicitly for the response
    // of 0b000000100

}

void send_letter(int letter) {
    sendByte(0b100100001);
    sendByte(0b000001011);
    sendByte(0b100100001);
    sendByte(0b000000011);
    sendByte(letter);
    sendByte(0b000001010);
    

    delay(LETTER_DELAY); // before next character
}
