updated socket work