added sockets support