added BoundedQueue