getCopy, factory improvement