return first matching pipe