renaming for higher clarity, move fallback logic to transports