used deep_dup