split out UseTransport into own class