draft transport refactoring