more work on sockets