build abstraction around queue called tube