How to add 1 more RFID mfrc522?

This is my project for smart traffic system for pedestrian. When pedestrian use rfid or iot, it can extend the time for green light to cross the road. In this coding, it works fine. However, what coding should be add or change if i want to add one more rfid reader?

//////////////////////////////////////////////
//        RemoteXY include library          //
//////////////////////////////////////////////

// RemoteXY select connection mode and include library 
#define REMOTEXY_MODE__ESP8266_HARDSERIAL_POINT

#include <RemoteXY.h>

// RemoteXY connection settings 
#define REMOTEXY_SERIAL Serial
#define REMOTEXY_SERIAL_SPEED 115200
#define REMOTEXY_WIFI_SSID "RemoteXY"
#define REMOTEXY_WIFI_PASSWORD "12345678"
#define REMOTEXY_SERVER_PORT 6377


// RemoteXY configurate  
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
  { 255,1,0,0,0,13,0,8,13,1,
  1,0,19,41,26,26,2,31,88,0 };
  
// this structure defines all the variables of your control interface 
struct {

    // input variable
  uint8_t button_1; // =1 if button pressed, else =0 

    // other variable
  uint8_t connect_flag;  // =1 if wire connected, else =0 

} RemoteXY;
#pragma pack(pop)

/////////////////////////////////////////////
//           END RemoteXY include          //
/////////////////////////////////////////////
#include <SPI.h>
#include <MFRC522.h>

int Lane1[]={A0,A1,A2}; //Lane 1Red, Yellow and Green
int Lane2[]={A3,A4,A5};   //Lane 2Red, Yellow and Green
const int buttonPin=2;  //Pushbutton
const int buttonPin1=3; //Pushbutton1
int buttonState = 0;    //Variable for reading the pushbutton status
int buttonState1 = 0;
const int peizoPin =4;
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);

void setup() 
{
  RemoteXY_Init (); 
  
  SPI.begin();      // Initiate  SPI bus
  mfrc522.PCD_Init();   // Initiate MFRC522

  pinMode(buttonPin,INPUT);
  pinMode(buttonPin1,INPUT);
  pinMode(peizoPin,OUTPUT);
for(int i=0;i<3;i++)
{
  pinMode(Lane1[i],OUTPUT);
  pinMode(Lane2[i],OUTPUT);
}

  digitalWrite(Lane1[0],LOW);
  digitalWrite(Lane1[1],LOW);
  digitalWrite(Lane1[2],HIGH);
  digitalWrite(Lane2[0],HIGH);
  digitalWrite(Lane2[1],LOW);
  digitalWrite(Lane2[2],LOW);
  
}

void loop() 
{ 

  RemoteXY_Handler ();
  buttonState = digitalRead(buttonPin);
  
if (buttonState == HIGH)
{
digitalWrite(Lane1[2],LOW);
digitalWrite(Lane1[1],HIGH);
delay(3000);
digitalWrite(Lane1[1],LOW);
digitalWrite(Lane1[0],HIGH);
digitalWrite(Lane2[0],LOW);
digitalWrite(Lane2[2],HIGH);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,250);
delay(500);
tone(peizoPin,5000,250);
delay(500);
tone(peizoPin,5000,250);
delay(500);
tone(peizoPin,5000,250);
delay(500); 
tone(peizoPin,5000,250);
delay(500);
tone(peizoPin,5000,250);
delay(500); 
tone(peizoPin,5000,2000);
delay(2000);
digitalWrite(Lane1[0],LOW);
digitalWrite(Lane1[2],HIGH);
digitalWrite(Lane2[2],LOW);
digitalWrite(Lane2[0],HIGH);

}
else 
{
  rfid();
}


if (RemoteXY.button_1 != 0)
{
digitalWrite(Lane1[2],LOW);
digitalWrite(Lane1[1],HIGH);
delay(3000);
digitalWrite(Lane1[1],LOW);
digitalWrite(Lane1[0],HIGH);
digitalWrite(Lane2[0],LOW);
digitalWrite(Lane2[2],HIGH);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,250);
delay(500);
tone(peizoPin,5000,250);
delay(500);
tone(peizoPin,5000,250);
delay(500);
tone(peizoPin,5000,250);
delay(500); 
tone(peizoPin,5000,250);
delay(500);
tone(peizoPin,5000,250);
delay(500); 
tone(peizoPin,5000,3000);
delay(3000);
digitalWrite(Lane1[0],LOW);
digitalWrite(Lane1[2],HIGH);
digitalWrite(Lane2[2],LOW);
digitalWrite(Lane2[0],HIGH);
setup();

}


}


void rfid()
{ // Look for new cards
  if ( ! mfrc522.PICC_IsNewCardPresent()) 
  {
    return;
  }
  
  // Select one of the cards
  if ( ! mfrc522.PICC_ReadCardSerial()) 
  {
    return;
  }
  
  //Show UID on serial monitor
  Serial.print("UID tag :");
  String content= "";
  byte letter;
  for (byte i = 0; i < mfrc522.uid.size; i++) 
  {
     Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
     Serial.print(mfrc522.uid.uidByte[i], HEX);
     content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
     content.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
  Serial.println();
  Serial.print("Message : ");
  content.toUpperCase();
  if (content.substring(1) == "23 EF A0 03") //change here the UID of the card/cards that you want to give access
  {
    digitalWrite(Lane1[2],LOW);
    digitalWrite(Lane1[1],HIGH);
    delay(3000);
    digitalWrite(Lane1[1],LOW);
    digitalWrite(Lane1[0],HIGH);
    digitalWrite(Lane2[0],LOW);
    digitalWrite(Lane2[2],HIGH);
    tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,800);
delay(2000);
tone(peizoPin,5000,250);
delay(500);
tone(peizoPin,5000,250);
delay(500);
tone(peizoPin,5000,250);
delay(500);
tone(peizoPin,5000,250);
delay(500);
tone(peizoPin,5000,250);
delay(500);
tone(peizoPin,5000,250);
delay(500); 
tone(peizoPin,5000,3000);
delay(3000);
    digitalWrite(Lane1[0],LOW);
    digitalWrite(Lane1[2],HIGH);
    digitalWrite(Lane2[2],LOW);
    digitalWrite(Lane2[0],HIGH);
    setup();
  }
}

TEST.ino (5.44 KB)

can you explain how your code manages RFIDs?