think some more about how the queuestate should be typed