extract the copy method