Part 2 of queue impl