modified socket