draft of queue in C/OO style