refactoring dir layout