changed ordered_tee to have a custom data implementation instead of cstring_queue