some initial code for #4 [question] fix transport