broke transport layers out into new file, various cleanups