A network device for time-sensitive networking comprising: a set of queues; and a time-aware shaper which comprises: a set of gates, a set of gate controllers, and gate control instructions; the gate control instructions comprise: a set of individual gate control lists, each individual gate control list configured to control a respective gate, each gate corresponding to a queue in the set of queues; characterised in that each individual gate control list comprising: a sequence of entries beginning with an initial entry (10 i) set to empty, and followed by a first entry for the respective gate, each subsequent entry comprising: a control field which specifies a gate state of either open or closed for the respective gate, and an accumulated duration of time comprising one or more timeslots for the gate state, wherein, at least one entry in the sequence of entries comprises a plurality of timeslots, and wherein when the first and last gate states are the same, each entry in the sequence of entries is moved by one entry position such that the first entry becomes the initial entry and the duration of the last entry is modified by adding the duration that was specified in the first entry; and each gate controller of the set of gate controllers is configured to read an individual gate control list, to generate a gate control signal and to issue the gate control signal to a respective gate, wherein each gate controller is configured, in a first cycle, to read each entry in the sequence of entries starting from the initial entry and to toggle the state of the gate in response to reading each entry and, in a second, subsequent cycle, to read entries in the sequence starting from the first entry and to toggle the state of the gate in response to reading each entry. a set of queues; and a time-aware shaper which comprises: a set of gates, a set of gate controllers, and gate control instructions; a set of gates, a set of gate controllers, and gate control instructions; a set of individual gate control lists, each individual gate control list configured to control a respective gate, each gate corresponding to a queue in the set of queues; characterised in that each individual gate control list comprising: a sequence of entries beginning with an initial entry (10 i) set to empty, and followed by a first entry for the respective gate, each subsequent entry comprising: a control field which specifies a gate state of either open or closed for the respective gate, and an accumulated duration of time comprising one or more timeslots for the gate state, wherein, at least one entry in the sequence of entries comprises a plurality of timeslots, and wherein when the first and last gate states are the same, each entry in the sequence of entries is moved by one entry position such that the first entry becomes the initial entry and the duration of the last entry is modified by adding the duration that was specified in the first entry; and each gate controller of the set of gate controllers is configured to read an individual gate control list, to generate a gate control signal and to issue the gate control signal to a respective gate, wherein each gate controller is configured, in a first cycle, to read each entry in the sequence of entries starting from the initial entry and to toggle the state of the gate in response to reading each entry and, in a second, subsequent cycle, to read entries in the sequence starting from the first entry and to toggle the state of the gate in response to reading each entry.