Refactored some transport provider