adding socket communication