changed add, enqueue to const reference instead of value