Difference between uvm_sequence_item and uvm_transaction

hi,

uvm_sequence_item base class has m_sequence_id field this is necessary in bidirectional protocols so that sequencer can be able to route response back to correct sequence