the queue part 1
worked on the queue part 2