Data io

Merging the Data-IO branch because the work there is okay, but I'm working on a different portion now. The next step will be to make sure it all runs.