work with sockets