directory tree refactoring