Rewrote TCP.hs