save and load works, some refactoring could be possible but not a concern at the moment