refactoring directory layout