large refactor of comms to make the transever an async tcp server