saving and loading refactoring

doesn't actually do any saving or loading yet, because there isn't a
point to it yet