project layout refactoring