Initial spike for allowing models across multiple files. Fixed the structure of the codebase somewhat, more time will need to be spent on structure in the future.