fix bug... use injected TCPSocket