add tcpsocket class part by part, try to make it compile