a program that reorders a sequence of commands and adds delays between commands as necessary to ensure the commands can be sent to the devices without triggering FIFO overflow errors.