Structured the project to be more modularized
Modularized project