   static int byteCount = 0;
   sourcePool[byteCount] = currentByte;
   byteCount = (++byteCount) & moduloReplacement;
-  //Serial.println(byteCount);
 
   if (byteCount == 0){
     return true;

}

//@return true if byte is full/complete
boolean collectBit(byte inputBit, byte *currentByte){
  static int bitCounter = 0;
  *currentByte |= inputBit << bitCounter;
  //modulo is very slow, so we do a bitwise operation. Equivelant to % 8
   bitCounter = (++bitCounter) & 0b00000111; 
  
  if (bitCounter == 0) {
    return true;


ISR(TIMER1_COMPA_vect) {
  static byte currentByte = 0x00; 
    byte pinVals = (PIND >> 6) & 0b00000011;
  boolean byteReady = collectBits(pinVals, &currentByte);

 
  if (byteReady){
//    Serial.write(currentByte);
    boolean poolFull = collectByte(currentByte);
    if (poolFull){
      conditionPoolAndWriteToSerial();
