incremental updates

added a bit of sanity checking and improved (hopefully) the save file
compatibility code.