sockets solution