recursion update and file reorganization