update the project layout to make more scalability