socket design guide