public boolean SetBusActiveStatus(int busNumber, int inputBufferNumber, int packetSequence, int TIME, ConfigFile cfg)
    {
        //REMOVE IN CROSSBAR FABRIC TYPE
        //only one bus present in this fabric type, 
        busNumber = 0;
        
        //ensure valid busNumber chosen
        if(((busNumber+1)<= VERTICALBUSES) && ((busNumber+1) > 0) &&
            (busActiveStatus[busNumber] == false))
        {
            //check if bus free, or already used by a buffer
            if ((currentInputBufferUsingTheBus[busNumber] == -1) ||
                (currentInputBufferUsingTheBus[busNumber] == inputBufferNumber)) 
            {
//System.out.println("busNumber :- "+(busNumber+1)+ "   SIZE of currentInputBufferUsingTheBus: "+currentInputBufferUsingTheBus.length);                
                //set the status of the bus
                busActiveStatus[busNumber] = true;
                
                //remove the bus from available buses
                availableBuses.remove(busNumber);
                
                //add input buffer connected to a bus
                inputConnectedToBus.add((Object)inputBufferNumber);

                //keep track of the buffer using the bus
                currentInputBufferUsingTheBus[busNumber] = inputBufferNumber;
                
                //keep track of the packet sequence using the bus
                sequence[busNumber] = packetSequence;
                
                //set the recently used bus
                recentBus = busNumber;
                
if(((String)cfg.GetConfig("GENERAL","Verbose")).compareToIgnoreCase("True") == 0)
{                
    Print(true, busNumber,packetSequence,true,TIME); 
}
                //successfully controlled the bus
                return true;
            }
        }
        
if(((String)cfg.GetConfig("GENERAL","Verbose")).compareToIgnoreCase("True") == 0)
{        
    Print(false, busNumber,packetSequence,true,TIME);   
}
        //was unable to control the bus
        return false;
    }