begin working on queue implementation