I've split the main file into several

Note: I've had some issues making relative imports work, I'm sure
there's something stuplidly simple I'm missing. In the meantime I've
put in try-catch blocks.
Added some basic docstrings
Merge branch 'file_split'