Transport refactor