add transport layer abstraction method proposal