Modularized structure

Provides a better overview of the project by breaking 4 sections out into their own files.