Assume (for the purposes of this discussion) that the multiplexer is multiplexing four incoming data streams onto a single carrier. The nominal data rate of the carrier is four times that of any of its four tributaries, although the aggregate data rate of its output is slightly higher than four times the nominal data rate of the tributaries in order for it to be able to deal with incoming signals that might be running at or near the upper bound of the allowed bit rate variance. The multiplexer takes one bit from each incoming date stream in turn for onward transmission (a process known as bit interleaving). The multiplexer initially assumes that each tributary data stream is running at the maximum allowed bit rate, and looks for the next bit from a particular data stream at the appropriate time. Every so often (unless all incoming data streams are indeed running at exactly their maximum allowed speed, which is highly unlikely), the multiplexer will look for an incoming bit that has not yet arrived. If this occurs, a stuffing (or justification) bit is added to the multiplexed data stream in place of an actual data bit to maintain the outgoing bit rate. Additional bits are used to tell the receiving multiplexer/de-multiplexer whether or not stuffing bits have been added to each frame, and if so which bits are the stuffing bits. These stuffing bits, together with the additional bits required to identify them at the receiver, constitute the bit-rate overhead for each level in the hierarchy.