figured out alot on how the async stuff should work for the tcp socket
began adding socket helpers