directory layout refactor