A network connected device, comprising: a network interface adapted to receive via a network one or more streams where each stream contains a plurality of stream elements each marked with a sequence number; a storage storing a linked list holding stream elements sorted by their corresponding sequence number and a mapping dataset, the mapping dataset comprises a plurality of dataset addresses each associated with a value and a corresponding pointer pointing to a position in the linked list that holds one of the stream elements; a processing circuitry adapted to add each of the plurality of stream elements to the linked-list by: accessing a first of the plurality of dataset addresses which is equivalent to the respective sequence number, updating a value addressed by the first dataset address when this value is not already updated to indicate a reception of a stream element with the respective sequence number, when a copy of a stream element having the respective sequence number is missing from the linked-list adding a copy of the respective stream element to an ordered position in the linked-list, the ordered position is determined according to the respective sequence number, and characterized in: when a copy of a stream element having the respective sequence number is in the linked-list adding a copy of the respective stream element to a derived position in the linked-list, the derived position is determined according to the ordered position. a network interface adapted to receive via a network one or more streams where each stream contains a plurality of stream elements each marked with a sequence number; a storage storing a linked list holding stream elements sorted by their corresponding sequence number and a mapping dataset, the mapping dataset comprises a plurality of dataset addresses each associated with a value and a corresponding pointer pointing to a position in the linked list that holds one of the stream elements; a processing circuitry adapted to add each of the plurality of stream elements to the linked-list by: accessing a first of the plurality of dataset addresses which is equivalent to the respective sequence number, updating a value addressed by the first dataset address when this value is not already updated to indicate a reception of a stream element with the respective sequence number, when a copy of a stream element having the respective sequence number is missing from the linked-list adding a copy of the respective stream element to an ordered position in the linked-list, the ordered position is determined according to the respective sequence number, and characterized in: when a copy of a stream element having the respective sequence number is in the linked-list adding a copy of the respective stream element to a derived position in the linked-list, the derived position is determined according to the ordered position. accessing a first of the plurality of dataset addresses which is equivalent to the respective sequence number, updating a value addressed by the first dataset address when this value is not already updated to indicate a reception of a stream element with the respective sequence number, when a copy of a stream element having the respective sequence number is missing from the linked-list adding a copy of the respective stream element to an ordered position in the linked-list, the ordered position is determined according to the respective sequence number, and characterized in: when a copy of a stream element having the respective sequence number is in the linked-list adding a copy of the respective stream element to a derived position in the linked-list, the derived position is determined according to the ordered position.