added a pipe utility class for transports