Regrouped code based on the unit running it, in packages
Restructured code