implement Transport#with(). close #4