           if(addr == 65535){
             // Reset credits on vending machine
             Serial.print("S");
-            uint16_t number = credits_in_machine;            // 0001 0110 0100 0111
-            uint16_t mask   = B11111111;          // 0000 0000 1111 1111
-            uint8_t first_half   = number >> 8;   // >>>> >>>> 0001 0110
-            uint8_t sencond_half = number & mask; // ____ ____ 0100 0111
-            Serial.write(sencond_half);
-            Serial.write(first_half);
+            rfid_transmit(credits_in_machine);
             // ERR Beep + display "ERR  OUT OF MEMORY" ?
             //Serial.println("ERR  OUT OF MEMORY");
-            Serial.println("O");
+            Serial.print("O");
             // Halt PICC
             mfrc522.PICC_HaltA();
             // Return

MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
uint32_t lastCardScan; // Debounce RFID reads
uint32_t timeBetweenScans;

uint16_t credits_in_machine;//Serial.parseInt();
char parseBuffer[2];

void setup() {
  lastCardScan = 0;
  timeBetweenScans = 1500; // TODO: Set to 1500 when in production
  Serial.begin(9600); // Initialize serial communications with master vending arduino
  SPI.begin(); // Init SPI bus
  mfrc522.PCD_Init(); // Init MFRC522 card
}

void loop() {
  // Look for new cards
  if(!mfrc522.PICC_IsNewCardPresent()) {return;}
  // Select one of the cards
  if(!mfrc522.PICC_ReadCardSerial()) {return;}
  // Now a card is selected. The UID and SAK is in mfrc522.uid.

  // Dump UID

          if(card.credits == 0){
            // ERR Beep + display "NO CREDITS"?
            //Serial.println("NO CREDITS - KNOWN CARD");
            Serial.print("N");
            // Halt PICC
            mfrc522.PICC_HaltA();
            // Return
