restructure - break the code up into its component modules