cp.extend add deep extend