avoid recurse when copying. needs fix