finished sockets version