rely on the caller to sort the streams