adding socket feature