private void broadcast( String alias, String result ){
          String register; // the register to update
          
          //remove the mapping from the memory buffer
          if( memory_buffer.containsKey( result ) ){
               memory_buffer.remove( result );
          }
          
          //broadcast to all Reservation Stations
          for( ALUStation it : alu_rs ){
               if( it.getQj().equals(alias) ){
                    it.setVj(result);
                    it.setQj(null);
               }
               if( it.getQk().equals(alias) ){
                    it.setVk(result);
                    it.setQk(null);
               }
          }    
          
          for( MemStation it : mem_rs ){  
               if( it.isBusy() ) {
                    it.updateAddrComponents( alias, result );        
               }
          }          
          

          //Update the Registers
          if( alias_to_register.containsKey( alias ) ){
               
               //ger the register that is mapped to the alias
               register = alias_to_register.get( alias );
               
               //overwrite the current register valu if the station name matched the alias
               if( alias.equals( registers.getRegister( register ) ) ){
                    registers.setRegister( register, result );
               }
               alias_to_register.remove( alias );
          }
          
          
     }