modified socket behavior