starting to work on the queue, much simplified in this iteration