Implement a queue