added sockets communication