moving things around
wrapping up a refactoring to better support multiple transports