committing working version with old save and load methods