Make transport api simpler with clone function