need to work on TCP socket