polished serialize, load() now lists files and lets user choose which one to load, also lets user save file with whatever name they want