code for a queue structure